dan PolarDB for PostgreSQL (Oracle Compatible) mendukung berbagai bahasa prosedural, seperti PLpgSQL, PL/Python, PL/Perl, PL/Tcl, dan PL/Java. Anda dapat menggunakan bahasa-bahasa tersebut untuk membuat fungsi atau prosedur tersimpan. PolarDB menyediakan ekstensi pldebugger untuk membantu Anda melakukan debug terhadapnya.
Prasyarat
Anda harus menggunakan client pgAdmin 4 versi 4.19 atau yang lebih baru. Untuk petunjuk pengunduhan, lihat halaman Download pgAdmin.
Catatan penggunaan
PolarDB membatasi jumlah sesi debugging konkuren untuk ekstensi pldebugger. Setiap kluster mendukung maksimal tiga sesi debugging aktif. Jika Anda memerlukan lebih dari tiga sesi debugging, buka Quota Center. Temukan kuota bernama PolarDB PG pldebugger plug-in usage, lalu pada kolom Operation, klik Apply untuk mengajukan peningkatan.
Sebagai contoh, jika tiga sesi debugging sedang aktif, sesi keempat tidak akan berhasil dimulai. Untuk mengatasinya, tutup salah satu sesi yang sedang aktif.
Buat ekstensi
Gunakan Akun istimewa untuk membuat ekstensi.
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Gunakan ekstensi
-
Untuk menghubungkan ke kluster PolarDB menggunakan pgAdmin 4, lihat Hubung ke kluster database.
-
Temukan fungsi yang ingin Anda debug, klik kanan fungsi tersebut, lalu pilih Debugging > Debug.
-
Ini akan membuka panel 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 return -1; end;-
Di panel debugging fungsi yang berada di sisi kanan halaman pgAdmin 4, Anda dapat menjalankan fungsi target langkah demi langkah. Sebagai contoh, Anda dapat menggunakan
step into/overdancontinue, menetapkan breakpoint, atau menghentikan eksekusi. -
Di bagian bawah halaman pgAdmin 4, Anda dapat melihat variabel lokal, hasil debugging, dan stack fungsi.
-
Monitor koneksi debugging
PolarDB menyediakan fungsi untuk memantau koneksi pldebugger. Fungsi ini mengembalikan jumlah koneksi aktif saat ini dan batas maksimum yang dikonfigurasi.
Fungsi ini hanya didukung pada PolarDB for PostgreSQL dengan kompatibilitas sintaksis Oracle 1.0.
SELECT * FROM polar_monitor_pldebugger_count();
Hasil berikut dikembalikan:
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)
-
current_connection: Jumlah koneksi yang sedang digunakan. -
max_connection: Jumlah maksimum koneksi debugging yang diizinkan secara default.
Output contoh menunjukkan enam koneksi sedang digunakan. Karena setiap sesi pldebugger menggunakan dua koneksi, hal ini menunjukkan adanya tiga proses pldebugger aktif, yang merupakan jumlah maksimum yang diizinkan.