All Products
Search
Document Center

ApsaraDB RDS:Debug prosedur tersimpan (pldebugger)

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara menggunakan ekstensi pldebugger untuk melakukan debug prosedur tersimpan pada instans ApsaraDB RDS for PostgreSQL.

Informasi latar belakang

ApsaraDB RDS for PostgreSQL mendukung berbagai bahasa prosedur tersimpan, seperti PL/pgSQL, PL/Python, PL/Perl, dan PL/Tcl. Anda dapat menggunakan bahasa-bahasa tersebut untuk membuat fungsi atau prosedur tersimpan.

Prasyarat

  • Instans RDS Anda menjalankan salah satu versi mesin database berikut:

    Major engine version

    Minor engine version

    PostgreSQL 14, 15, 16, atau 17

    20250630 atau yang lebih baru

    PostgreSQL 10, 11, 12, atau 13

    20230830 atau yang lebih baru

    Penting

    Plugin ini didukung pada versi mesin minor sebelum 20230830. Untuk menstandarkan manajemen plugin dan meningkatkan keamanan, RDS sedang mengoptimalkan plugin yang menimbulkan risiko keamanan pada versi mesin yang lebih baru. Akibatnya, pembuatan plugin ini dibatasi pada beberapa versi mesin minor tertentu. Untuk informasi selengkapnya, lihat Plug-in creation restrictions.

    • Jika instans Anda menjalankan versi mesin minor sebelum 20230830 dan Anda sudah menggunakan plugin ini, beban kerja Anda tidak terpengaruh.

    • Jika Anda membuat plugin ini untuk pertama kali atau membuat ulang, upgrade versi mesin minor ke versi terbaru.

  • Anda memiliki Akun istimewa untuk instans ApsaraDB RDS for PostgreSQL Anda. Untuk informasi selengkapnya, lihat Create an account.

  • Versi pgAdmin4 pada client database Anda adalah 4.19 atau yang lebih baru. Anda dapat mengunduh pgAdmin4 di pgAdmin4.

Instal dan uninstal ekstensi

  1. Setel parameter instans, lalu tambahkan plugin_debugger ke running parameter value dari shared_preload_libraries. Misalnya, ubah running parameter value menjadi 'pg_stat_statements,auto_explain,plugin_debugger'.

  2. Gunakan Akun istimewa untuk menghubungkan ke database target, lalu jalankan Pernyataan SQL berikut untuk mengelola ekstensi.

    • Buat ekstensi.

      CREATE EXTENSION pldbgapi;
    • Hapus ekstensi.

      DROP EXTENSION pldbgapi;

Contoh

  1. Gunakan client pgAdmin untuk menghubungkan ke instans ApsaraDB RDS for PostgreSQL Anda. Untuk informasi selengkapnya, lihat Connect to a PostgreSQL instance.

  2. Buat tabel uji dan prosedur tersimpan.

    Pernyataan SQL contoh:

    CREATE TABLE test(
        id int,
        name VARCHAR(50));
    CREATE OR REPLACE FUNCTION public.testcount()
    RETURNS integer AS $$
    DECLARE
        postgres text;
        counts integer;
    BEGIN
    INSERT INTO test VALUES(1, 'a');
    postgres:='SELECT COUNT(*) FROM test';
    EXECUTE postgres INTO counts;
    IF counts > 100 THEN
        RETURN counts;
    ELSE
        RETURN 0;
    END IF;
    END;
    $$ language plpgsql;
  3. Pada panel kiri Browser, perluas Functions, klik kanan fungsi testcount(), lalu pilih Debugging > Debug untuk memasuki mode debugging.

  4. Pada panel debugging fungsi di sisi kanan antarmuka pgAdmin, Anda dapat melakukan debugging langkah demi langkah pada fungsi target. Bilah alat debugger di bagian atas menyediakan tombol untuk mengontrol eksekusi, seperti Step Into, Step Over, Continue, dan Stop. Gunakan tombol Toggle breakpoint dan Clear all breakpoints untuk mengelola breakpoint. Baris kode yang sedang dieksekusi akan disorot di editor kode. Di bagian bawah, tab Parameters, Local variables, Messages, Results, dan Stack memungkinkan Anda memeriksa nilai variabel, pesan, dan stack fungsi.