Untuk mengembangkan atau mendebug fungsi, instal ekstensi pldbgapi. Ekstensi ini mengaktifkan debugging PL/pgSQL sehingga Anda dapat menetapkan kondisi, breakpoint, dan nilai variabel.
Pendahuluan
Di AnalyticDB for PostgreSQL, PL/pgSQL adalah bahasa prosedural untuk menulis prosedur tersimpan dan user-defined function (UDF). Bahasa ini memperluas SQL dengan kemampuan pemrograman seperti variabel, logika kondisional, loop, dan penanganan eksepsi.
Ekstensi pldbgapi mengaktifkan debugging kode PL/pgSQL, mirip dengan penggunaan GNU Debugger (GDB) untuk program C. Anda dapat menetapkan breakpoint, menjalankan kode langkah demi langkah, serta melihat nilai variabel pada waktu proses. Ekstensi ini menyederhanakan pengembangan dan debugging fungsi.
Catatan penggunaan
Ekstensi pldbgapi hanya didukung pada instans AnalyticDB for PostgreSQL V6.0 dengan versi mesin minor v6.3.10.19 atau lebih baru. Untuk memeriksa versi mesin minor instans Anda, lihat Lihat versi mesin minor.
Anda harus menggunakan klien pgAdmin untuk mendebug kode PL/pgSQL. Kami merekomendasikan penggunaan klien pgAdmin v6.21 karena versi yang lebih baru tidak kompatibel dengan kernel AnalyticDB for PostgreSQL. Untuk mengunduh klien tersebut, lihat pgAdmin.
Prosedur
Buka halaman Extensions untuk instans AnalyticDB for PostgreSQL Anda untuk menginstal ekstensi pldbgapi. Untuk petunjuk lengkap, lihat Instal, perbarui, dan uninstal ekstensi.
Hubungkan ke database AnalyticDB for PostgreSQL Anda dan buat fungsi untuk debugging PL/pgSQL. Berikut contoh fungsi tersebut.
CREATE OR REPLACE FUNCTION add_numbers(a int, b int) RETURNS NUMERIC AS $$ DECLARE t1_b_avg NUMERIC; BEGIN --DROP TABLE t1; CREATE TABLE t1 (a int, b int, c int, d int); RAISE NOTICE 'Finish CREATE '; FOR i IN 1..10 LOOP INSERT INTO t1 VALUES (i, i, i, i); END LOOP; RAISE NOTICE 'Finish INSERT '; SELECT avg(t1.b) INTO t1_b_avg FROM t1 LIMIT 1; RAISE NOTICE 'Finish SELECT: avg=[%] ', t1_b_avg; DROP TABLE t1; RETURN a + b + t1_b_avg; END; $$ LANGUAGE plpgsql;Panggil fungsi tersebut untuk memverifikasi bahwa fungsinya bekerja sesuai harapan.
SELECT add_numbers(1, 3);Buka pgAdmin dan pilih .
Pada tab General kotak dialog Register-Server, masukkan nama server, misalnya
test.Pada tab connection kotak dialog Register-Server, konfigurasikan parameter berikut dan klik save untuk membuat server.
Parameter
Deskripsi
Host name/address
Titik akhir publik instans AnalyticDB for PostgreSQL. Untuk informasi selengkapnya, lihat Kelola titik akhir publik.
port
Nomor port instans AnalyticDB for PostgreSQL.
Maintenance database
Atur parameter ini ke postgres.
Username
Akun database untuk instans AnalyticDB for PostgreSQL.
password
Password untuk akun database tersebut.
Pada daftar server di sebelah kiri, navigasikan ke test > Databases > postgres > Schemas > public > Functions untuk menemukan fungsi yang akan didebug.
Klik kanan fungsi tersebut dan pilih Debugging > Debug.

Pada jendela Debugger, masukkan parameter input untuk fungsi tersebut dan klik Debug. Pada contoh ini, nilai parameter a dan b keduanya diatur ke 2.

Pada panel debugging, klik ikon debug
di pojok kiri atas.
Setelah sesi debugging berakhir, Anda dapat melihat hasilnya pada tab Messages dan Result di bagian bawah panel debugging.
Tab Messages: Menampilkan output teks yang dihasilkan selama eksekusi fungsi.
Tab Result: Menampilkan nilai kembali setelah eksekusi fungsi.