Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekstensi dan modul di PostgreSQL adalah alat canggih yang dapat Anda gunakan untuk memperluas fungsionalitas sistem database. Mereka berkisar dari objek SQL sederhana hingga pustaka biner yang kompleks, dan mereka menyediakan fitur dan kemampuan tambahan yang tidak tersedia dalam distribusi PostgreSQL inti.
Ekstensi
Untuk menentukan ekstensi, Anda memerlukan setidaknya satu file skrip yang berisi perintah SQL untuk membuat objek yang didistribusikan oleh ekstensi, dan satu file kontrol yang menentukan properti dasar ekstensi itu sendiri.
Saat Anda membuat, menginstal, atau memuat ekstensi dalam database, ekstensi tersebut menyebarkan sekumpulan objek bundel yang bertujuan untuk memperluas fungsionalitas mesin. Objek tersebut dapat berupa fungsi, operator, peran, jenis data, metode akses, dan jenis objek database lainnya.
Saat Anda melepas, mencopot pemasangan, atau membongkar ekstensi dari database, proses tersebut akan menghapus semua objek yang dibuat oleh ekstensi tersebut. Pengecualian untuk kasus tersebut adalah ketika ada objek lain dalam database dengan dependensi pada salah satu objek yang ditentukan oleh ekstensi.
Anda dapat menulis implementasi fungsionalitas yang disediakan oleh objek yang didistribusikan oleh ekstensi di SQL atau PL/pgSQL. Tetapi Anda juga dapat menerapkannya dalam file pustaka bersama (biner) terpisah, yang merupakan hasil dari mengkompilasi kode sumber (biasanya ditulis dalam C atau Rust) yang mengimplementasikan fungsionalitas.
Di PostgreSQL, Anda mengelola ekstensi melalui perintah CREATE EXTENSION, ALTER EXTENSION, DROP EXTENSION, dan COMMENT ON EXTENSION.
-
CREATE EXTENSIONmembuat, menginstal, atau memuat ekstensi ke dalam database tempat Anda menjalankan perintah. -
ALTER EXTENSIONmemperbarui ekstensi ke versi yang lebih baru. -
DROP EXTENSIONmenjatuhkan, menghapus instalasi, atau membongkar ekstensi dari database tempat Anda menjalankan perintah. -
COMMENT ON EXTENSIONmenyimpan komentar tentang ekstensi sebagai objek database.
Ketika server dimulai, server mendefinisikan area memori yang dapat diakses oleh semua proses backend, untuk menjalankan beban kerja apa pun secara kooperatif. Dalam jargon PostgreSQL, area memori tersebut disebut sebagai memori bersama.
Beberapa ekstensi yang menerapkan fungsionalitas dengan menggunakan pustaka bersama perlu mengakses area memori bersama tersebut dari kode yang dibangun di pustaka tersebut. Ekstensi tersebut memiliki satu persyaratan lagi, yaitu file pustaka bersama mereka harus dimuat oleh proses mesin utama, segera setelah server dimulai. Untuk pustaka tersebut, ikuti petunjuk dalam memuat pustaka.
Modul
Meskipun tidak dianggap sebagai ekstensi karena tidak memiliki file kontrol dan file skrip untuk menyebarkan objek SQL yang dibundel dalam database, bentuk ekstensibilitas lain di PostgreSQL adalah menerapkan fungsionalitas dalam file pustaka biner bersama mandiri.
Anda dapat memuat file-file ini dalam memori ketika server dimulai. Mereka dapat menerapkan kode yang biasanya memutar jalur eksekusi alami PostgreSQL untuk mengubah fungsi default mesin. Perubahan perilaku tersebut biasanya bertujuan untuk memperkuat beberapa fungsionalitas mesin yang terbatas.
Azure Database for PostgreSQL mendukung modul berikut:
- auto_explain
- pg_failover_slots
- pg_partman_bgw
- wal2json