dan PolarDB for PostgreSQL (Oracle-compatible) mendukung berbagai bahasa prosedur tersimpan, seperti PLpgSQL, PL/Python, PL/Perl, PL/Tcl, dan PL/Java. Anda dapat menggunakan bahasa prosedur tersimpan ini untuk membuat fungsi atau prosedur tersimpan. PolarDB menyediakan ekstensi pldebugger untuk men-debug prosedur tersimpan.
Prasyarat
Klien pgAdmin 4 harus versi 4.19 atau lebih baru. Untuk mengunduh pgAdmin 4, kunjungi halaman Unduhan pgAdmin.
Catatan penggunaan
Secara default, setiap kluster mendukung maksimal tiga sesi debugging bersamaan yang menggunakan total enam koneksi. Jika Anda memerlukan lebih dari tiga sesi bersamaan, buka Quota Center. Pada kolom Operation untuk kuota bernama pldebugger plug-in usage for PolarDB for PostgreSQL, klik Apply untuk menambah kuota Anda.
Sebagai contoh, jika tiga sesi debugging sudah aktif, Anda tidak dapat memulai sesi keempat. Untuk melanjutkan, tutup salah satu sesi yang sedang aktif.
Buat ekstensi
Gunakan pengguna polar_superuser untuk membuat dan men-debug ekstensi.
postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSION
Gunakan ekstensi
-
Hubungkan ke kluster PolarDB Anda menggunakan klien pgAdmin 4. Untuk informasi selengkapnya, lihat Hubungkan ke kluster database.
-
Temukan fungsi yang ingin Anda debug, klik kanan fungsi tersebut, lalu pilih Debugging > Debug.
-
Anda sekarang dapat menggunakan ekstensi pldebugger di pgAdmin 4.
declare v_result int; begin v_result := 0; if i<0 then raise notice 'Please enter i >=0.'; raise exception ''; end if; for x in 0..i loop v_result := v_result + x; end loop; return v_result; exception when others then raise; end;-
Pada panel debugging di sisi kanan halaman pgAdmin 4, Anda dapat menjalankan fungsi langkah demi langkah. Misalnya, gunakan
step into/overdancontinue, atur breakpoint, serta hentikan sesi. -
Di bagian bawah halaman pgAdmin 4, Anda dapat melihat variabel lokal, output debugging, dan stack fungsi.
-
Monitor koneksi debugging
PolarDB menyediakan fungsi untuk memantau jumlah koneksi debugging yang digunakan oleh ekstensi pldebugger. Anda dapat menggunakan fungsi ini untuk melihat jumlah koneksi debugging saat ini dan jumlah maksimum koneksi yang dikonfigurasi.
postgres=# select * from polar_monitor_pldebugger_count();
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)
-
current_connection: Jumlah koneksi yang sedang digunakan saat ini. -
max_connection: Jumlah maksimum koneksi debugging yang dikonfigurasi.
Contoh tersebut menunjukkan bahwa enam koneksi sedang digunakan. Karena setiap sesi pldebugger menggunakan dua koneksi, hal ini menandakan bahwa tiga proses pldebugger sedang berjalan. Maksimal tiga proses pldebugger dapat berjalan secara bersamaan.