Untuk mengembangkan atau men-debug fungsi, instal ekstensi pldbgapi, gunakan fitur debugging PL/pgSQL, lalu konfigurasikan kondisi, titik henti program, dan nilai variabel.
Pengenalan
PL/pgSQL adalah bahasa ekstensi yang digunakan untuk menulis prosedur tersimpan dan fungsi yang ditentukan pengguna (UDF) di AnalyticDB for PostgreSQL. PL/pgSQL mendukung pemrosesan dan kueri data SQL, menyediakan manajemen prosedural dan pemrograman, serta memungkinkan logika kompleks berdasarkan variabel, kondisi, loop, dan operasi pemecahan masalah.
Ekstensi pldbgapi memungkinkan Anda menggunakan fitur debugging fungsi PL/pgSQL dengan cara serupa dengan GNU Debugger (GDB) untuk men-debug program C. Ekstensi ini mendukung titik henti program, debugging langkah demi langkah, dan inspeksi nilai variabel. Dengan fitur PL/pgSQL dari ekstensi pldbgapi, Anda dapat mengembangkan dan men-debug fungsi secara lebih efisien.
Catatan Penggunaan
Hanya instance AnalyticDB for PostgreSQL V6.0 versi 6.3.10.19 atau lebih baru yang mendukung ekstensi pldbgapi. Untuk informasi tentang cara melihat versi mesin minor dari instance AnalyticDB for PostgreSQL, lihat Lihat versi mesin minor.
Anda dapat menggunakan fitur debugging fungsi PL/pgSQL pada klien pgAdmin. Kami merekomendasikan penggunaan versi 6.21 dari klien pgAdmin. Versi terbaru dari klien pgAdmin tidak kompatibel dengan AnalyticDB for PostgreSQL. Untuk informasi tentang cara mengunduh klien pgAdmin, lihat pgAdmin.
Prosedur
Instal ekstensi pldbgapi di halaman Ekstensi dari instance AnalyticDB for PostgreSQL tempat Anda ingin menggunakan ekstensi tersebut. Untuk informasi lebih lanjut, lihat Instal, perbarui, dan hapus ekstensi.
Sambungkan ke database AnalyticDB for PostgreSQL dan buat fungsi untuk debugging PL/pgSQL. Contoh fungsi:
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 'Selesai MEMBUAT '; FOR i IN 1..10 LOOP INSERT INTO t1 VALUES (i, i, i, i); END LOOP; RAISE NOTICE 'Selesai MENYISIPKAN '; SELECT avg(t1.b) INTO t1_b_avg FROM t1 LIMIT 1; RAISE NOTICE 'Selesai MEMILIH: rata-rata=[%] ', t1_b_avg; DROP TABLE t1; RETURN a + b + t1_b_avg; END; $$ LANGUAGE plpgsql;Kueri data tabel untuk memverifikasi bahwa fungsi bekerja sesuai harapan.
SELECT add_numbers(1, 3);Mulai pgAdmin. Di bilah navigasi atas, pilih .
Di tab General pada halaman Register-Server, tentukan nama server. Contoh:
test.Di tab Connection pada halaman Register-Server, konfigurasikan parameter yang dijelaskan dalam tabel berikut dan klik Save untuk membuat server.
Parameter
Deskripsi
Host name/address
Titik akhir publik yang digunakan untuk menyambung ke instance AnalyticDB for PostgreSQL. Untuk informasi lebih lanjut, lihat Kelola titik akhir publik.
Port
Nomor port yang digunakan untuk menyambung ke instance AnalyticDB for PostgreSQL.
Maintenace database
Nama database. Atur parameter ini ke postgres.
Username
Akun database dari instance AnalyticDB for PostgreSQL.
Password
Kata sandi akun database.
Di daftar server di sebelah kiri, pilih server yang ingin Anda kelola dan pilih .
Klik kanan fungsi yang ingin Anda debug dan pilih di menu pintasan.

Di halaman Debugger, tentukan parameter input untuk fungsi dan klik Debug. Dalam contoh ini, nilai parameter a dan b diatur ke 2, dan nilai parameter a tidak nol.

Di pojok kiri atas halaman, klik ikon
.
Setelah debugging selesai, lihat hasil debugging di tab Messages dan Result.
Tab Messages menampilkan pesan teks keluaran selama proses eksekusi fungsi.
Tab Result menampilkan nilai balik setelah fungsi dieksekusi.