PolarDB for PostgreSQL (Compatible with Oracle) mendukung beberapa bahasa prosedur tersimpan (SPLs)—PL/pgSQL, PL/Python, PL/Perl, PL/Tcl, dan PL/Java. Ekstensi pldebugger memungkinkan Anda melakukan debug fungsi dan prosedur tersimpan yang ditulis dalam bahasa-bahasa tersebut secara interaktif melalui pgAdmin 4.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
pgAdmin 4 versi 4.19 atau lebih baru. Unduh dari pgAdmin.org.
Akun
polar_superuser. Izin ini diperlukan untuk menjalankan perintahCREATE EXTENSION.
Batas koneksi
Setiap kluster PolarDB mendukung hingga tiga koneksi pldebugger simultan. Setiap sesi debugging menggunakan dua koneksi, sehingga maksimal tiga sesi debugging dapat berjalan secara bersamaan.
Untuk menaikkan batas lebih dari tiga koneksi, buka Quota Center dan klik Apply pada kolom Actions untuk entri PolarDB PG pldebugger plug-in use.
Jika Anda mencapai batas koneksi, tutup salah satu sesi yang sedang berjalan sebelum memulai sesi baru.
Aktifkan ekstensi pldebugger
Login sebagai polar_superuser dan jalankan perintah berikut:
postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSIONDebug fungsi
Buka pgAdmin 4 dan .
Pada object browser, temukan fungsi yang akan di-debug, klik kanan fungsi tersebut, lalu pilih Debugging > Debug.

Gunakan ekstensi pldebugger di pgAdmin 4.
Pada bagian debugging fungsi di panel kanan, Anda dapat melakukan operasi langkah demi langkah seperti step into/over, continue, mengatur breakpoint, dan menghentikan proses.
Di panel bawah, Anda dapat melihat variabel lokal, hasil debugging, dan stack fungsi selama sesi debugging berlangsung.

Monitor koneksi ke pldebugger
Untuk melihat jumlah koneksi yang sedang digunakan, jalankan perintah berikut:
postgres=# select * from polar_monitor_pldebugger_count();
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)| Column | Description |
|---|---|
current_connection | Jumlah koneksi yang sedang digunakan. |
max_connection | Jumlah maksimum koneksi yang diizinkan. |
Pada contoh di atas, terdapat 6 koneksi yang sedang digunakan. Karena setiap sesi debugging memerlukan 2 koneksi, maka terdapat 3 sesi debugging aktif—jumlah maksimum yang diizinkan.