Ekstensi PostgreSQL di Azure Database for PostgreSQL - Hyperscale (Citus)
BERLAKU UNTUK:
Azure Database for PostgreSQL - Hyperscale (Citus)
PostgreSQL menyediakan kemampuan untuk memperluas fungsionalitas database Anda menggunakan ekstensi. Ekstensi memungkinkan penggabungan beberapa objek SQL terkait bersama-sama dalam satu paket yang dapat dimuat atau dihapus dari database Anda dengan satu perintah. Setelah dimuat dalam database, ekstensi dapat berfungsi seperti fitur bawaan. Untuk informasi selengkapnya tentang ekstensi PostgreSQL, lihat Mengemas objek terkait ke dalam ekstensi.
Menggunakan ekstensi PostgreSQL
Ekstensi PostgreSQL harus dipasang dalam database sebelum Anda dapat menggunakannya. Untuk memasang ekstensi tertentu, jalankan perintah BUAT EKSTENSI dari alat psql untuk memuat objek yang dikemas ke dalam database Anda.
Catatan
Jika CREATE EXTENSION gagal dengan kesalahan izin ditolak, coba fungsi create_extension() sebagai gantinya. Contohnya:
SELECT create_extension('postgis');
Azure Database for PostgreSQL - Hyperscale (Citus) saat ini mendukung subset ekstensi kunci seperti yang tercantum di sini. Ekstensi selain yang tercantum tidak didukung. Anda tidak dapat membuat ekstensi Anda sendiri dengan Azure Database for PostgreSQL.
Ekstensi yang didukung oleh Azure Database for PostgreSQL
Tabel berikut ini mencantumkan ekstensi PostgreSQL standar yang saat ini didukung oleh Azure Database for PostgreSQL. Informasi ini juga tersedia dengan menjalankan SELECT * FROM pg_available_extensions;.
Versi setiap ekstensi yang dipasang dalam grup server terkadang berbeda berdasarkan versi PostgreSQL (11, 12, atau 13). Tabel mencantumkan versi ekstensi per versi database.
Ekstensi Citus
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| citus | Database yang didistribusikan Citus. | 9.5.10 | 10.0.6 | 10.2.4 | 10.2.4 |
Ekstensi jenis data
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| citext | Menyediakan jenis string karakter yang tidak sensitif terhadap huruf besar/kecil. | 1.5 | 1.6 | 1.6 | 1.6 |
| cube | Menyediakan jenis data untuk kubus multidimensi. | 1.4 | 1.4 | 1.4 | 1.5 |
| hll | Menyediakan struktur data HyperLogLog. | 2.16 | 2.16 | 2.16 | 2.16 |
| hstore | Menyediakan jenis data untuk menyimpan set pasangan kunci-nilai. | 1.5 | 1.6 | 1.7 | 1.8 |
| isn | Menyediakan jenis data untuk standar penomoran produk internasional. | 1.2 | 1.2 | 1.2 | 1.2 |
| lo | Pemeliharaan Objek Besar. | 1.1 | 1.1 | 1.1 | 1.1 |
| ltree | Menyediakan jenis data untuk struktur hierarkis seperti pohon. | 1.1 | 1.1 | 1.2 | 1.2 |
| seg | Jenis data untuk mewakili segmen baris atau interval titik ambang. | 01/03/2021 | 01/03/2021 | 01/03/2021 | 1,4 |
| tdigest | Jenis data untuk akumulasi statistik berbasis peringkat on-line seperti rata-rata terpotong dan kuantil. | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 |
| topn | Jenis untuk top-n JSONB. | 2.4.0 | 2.4.0 | 2.4.0 | 2.4.0 |
Ekstensi pencarian teks lengkap
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| dict_int | Menyediakan templat kamus pencarian teks untuk bilangan bulat. | 1.0 | 1.0 | 1.0 | 1,0 |
| dict_xsyn | Templat kamus pencarian teks untuk pemrosesan sinonim yang diperluas. | 1.0 | 1.0 | 1.0 | 1.0 |
| unaccent | Kamus pencarian teks yang menghapus aksen (tanda diakritik) dari leksem. | 1.1 | 1.1 | 1.1 | 1.1 |
Ekstensi fungsi
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| autoinc | Fungsi untuk bidang inkremental otomatis. | 1.0 | 1.0 | 1.0 | 1.0 |
| earthdistance | Menyediakan sarana untuk menghitung jarak lingkaran besar di permukaan Bumi. | 1.1 | 1.1 | 1.1 | 1.1 |
| fuzzystrmatch | Menyediakan beberapa fungsi untuk menentukan persamaan dan jarak antar string. | 1.1 | 1.1 | 1.1 | 1.1 |
| insert_username | Fungsi untuk melacak siapa yang mengubah tabel. | 1.0 | 1.0 | 1.0 | 1.0 |
| intagg | Agregator bilangan bulat dan enumerator (usang). | 1.1 | 1.1 | 1.1 | 1.1 |
| intarray | Menyediakan fungsi dan operator untuk memanipulasi array bilangan bulat bebas-null. | 1.2 | 1.2 | 01/03/2021 | 1.5 |
| moddatetime | Fungsi untuk melacak waktu terakhir diubah. | 1.0 | 1.0 | 1.0 | 1,0 |
| pg_partman | Mengelola tabel yang dipartisi menurut waktu atau ID. | 4.6.0 | 4.6.0 | 4.6.0 | 4.6.0 |
| pg_trgm | Menyediakan fungsi dan operator untuk menentukan persamaan teks alfanumerik berdasarkan pencocokan trigram. | 1.4 | 1.4 | 1.5 | 1.6 |
| pgcrypto | Menyediakan fungsi kriptografi. | 01/03/2021 | 01/03/2021 | 01/03/2021 | 01/03/2021 |
| refint | Fungsi untuk mengimplementasikan integritas referensial (usang). | 1.0 | 1.0 | 1.0 | 1,0 |
| tablefunc | Menyediakan fungsi yang memanipulasi seluruh tabel, termasuk tab silang. | 1.0 | 1.0 | 1.0 | 1.0 |
| tcn | Pemberitahuan perubahan yang dipicu. | 1.0 | 1.0 | 1.0 | 1.0 |
| timetravel | Fungsi untuk menerapkan perjalanan waktu. | 1.0 | |||
| uuid-ossp | Menghasilkan pengidentifikasi unik universal (UUID). | 1.1 | 1.1 | 1.1 | 1.1 |
Ekstensi jenis indeks
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| bloom | Metode akses bloom - indeks berbasis file tanda tangan. | 1.0 | 1.0 | 1.0 | 1,0 |
| btree_gin | Menyediakan sampel kelas operator GIN yang menerapkan perilaku seperti pohon B untuk jenis data tertentu. | 01/03/2021 | 01/03/2021 | 01/03/2021 | 01/03/2021 |
| btree_gist | Menyediakan kelas operator indeks GiST yang mengimplementasikan pohon B. | 1.5 | 1.5 | 1.5 | 1.6 |
Ekstensi bahasa
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| plpgsql | Bahasa prosedural yang dapat dimuat PL/pgSQL. | 1.0 | 1.0 | 1.0 | 1.0 |
Ekstensi lain-lain
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| amcheck | Fungsi untuk memverifikasi integritas relasi. | 1.1 | 1.2 | 1.2 | 01/03/2021 |
| dblink | Modul yang mendukung koneksi ke database PostgreSQL lainnya dari dalam sesi database. Lihat bagian "dblink dan postgres_fdw" untuk informasi tentang ekstensi ini. | 1.2 | 1.2 | 1.2 | 1.2 |
| pageinspect | Memeriksa konten halaman database pada tingkat rendah. | 1.7 | 1.7 | 1.8 | 1,9 |
| pg_buffercache | Menyediakan sarana untuk memeriksa apa yang terjadi di buffer cache bersama secara real time. | 01/03/2021 | 01/03/2021 | 01/03/2021 | 01/03/2021 |
| pg_cron | Penjadwal pekerjaan untuk PostgreSQL. | 1.4 | 1.4 | 1.4 | 1.4 |
| pg_freespacemap | Memeriksa peta ruang bebas (FSM). | 1.2 | 1.2 | 1.2 | 1.2 |
| pg_prewarm | Menyediakan cara untuk memuat data relasi ke dalam buffer cache. | 1.2 | 1.2 | 1.2 | 1.2 |
| pg_stat_statements | Menyediakan sarana untuk melacak statistik eksekusi dari semua pernyataan SQL yang dijalankan oleh server. Lihat bagian "pg_stat_statements" untuk informasi tentang ekstensi ini. | 1.6 | 1.7 | 1.8 | 1,9 |
| pg_visibility | Memeriksa peta visibilitas (VM) dan informasi visibilitas tingkat halaman. | 1.2 | 1.2 | 1.2 | 1.2 |
| pgrowlocks | Menyediakan sarana untuk menunjukkan informasi penguncian tingkat baris. | 1.2 | 1.2 | 1.2 | 1.2 |
| pgstattuple | Menyediakan sarana untuk menunjukkan statistik tingkat tuple. | 1.5 | 1.5 | 1.5 | 1.5 |
| postgres_fdw | Pembungkus data asing yang digunakan untuk mengakses data yang disimpan di server PostgreSQL eksternal. Lihat bagian "dblink dan postgres_fdw" untuk informasi tentang ekstensi ini. | 1.0 | 1.0 | 1.0 | 1.1 |
| sslinfo | Informasi tentang sertifikat TLS/SSL. | 1.2 | 1.2 | 1.2 | 1.2 |
| tsm_system_rows | Metode TABLESAMPLE, yang menerima jumlah baris sebagai batas. | 1.0 | 1.0 | 1.0 | 1,0 |
| tsm_system_time | Metode TABLESAMPLE, yang menerima waktu dalam milidetik sebagai batas. | 1.0 | 1.0 | 1.0 | 1.0 |
| xml2 | Kueri JalurX dan XSLT. | 1.1 | 1.1 | 1.1 | 1.1 |
Ekstensi PostGIS
| Ekstensi | Deskripsi | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| PostGIS | Objek spasial dan geografis untuk PostgreSQL. | 2.5.5 | 3.0.4 | 3.0.3 | 3.1.4 |
| address_standardizer | Digunakan untuk menguraikan alamat ke dalam elemen penyusun. Digunakan untuk mendukung langkah normalisasi alamat geocoding. | 2.5.5 | 3.0.4 | 3.0.4 | 3.1.4 |
| postgis_sfcgal | Fungsi PostGIS SFCGAL. | 2.5.5 | 3.0.4 | 3.0.4 | 3.1.4 |
| postgis_topology | Fungsi dan jenis spasial topologi PostGIS. | 2.5.5 | 3.0.4 | 3.0.4 | 3.1.4 |
pg_stat_statements
Ekstensi pg_stat_statements dimuat sebelumnya di setiap server Azure Database for PostgreSQL untuk memberi Anda sarana guna melacak statistik eksekusi pernyataan SQL.
Pengaturan pg_stat_statements.track mengontrol pernyataan apa yang dihitung oleh ekstensi. Defaultnya adalah top, yang berarti bahwa semua pernyataan yang dikeluarkan langsung oleh klien dilacak. Dua tingkat pelacakan lainnya adalah none dan all. Pengaturan ini dapat dikonfigurasi sebagai parameter server melalui portal Microsoft Azure atau Azure CLI.
Ada tradeoff antara informasi eksekusi kueri yang diberikan pg_stat_statements dan pengaruhnya terhadap performa server saat mencatat setiap pernyataan SQL. Jika Anda tidak secara aktif menggunakan ekstensi pg_stat_statements, kami sarankan Anda mengatur pg_stat_statements.track ke none. Beberapa layanan pemantauan pihak ketiga mungkin mengandalkan pg_stat_statements untuk memberikan insight performa kueri, jadi konfirmasi apakah ini terjadi pada Anda atau tidak.
dblink dan postgres_fdw
Anda dapat menggunakan dblink dan postgres_fdw untuk terhubung dari satu server PostgreSQL ke server lain, atau ke database lain di server yang sama. Server penerima perlu mengizinkan koneksi dari server pengirim melalui firewall-nya. Untuk menggunakan ekstensi ini dalam menghubungkan server Azure Database for PostgreSQL atau grup server Hyperscale (Citus), atur Izinkan layanan dan sumber daya Azure untuk mengakses grup server ini (atau server) ke AKTIF. Anda juga perlu MENGAKTIFKAN pengaturan ini jika ingin menggunakan ekstensi untuk mengulang kembali ke server yang sama. Pengaturan Izinkan layanan dan sumber daya Azure untuk mengakses grup server ini dapat ditemukan di halaman portal Microsoft Azure untuk grup server Hyperscale (Citus) pada Jaringan. Saat ini, koneksi keluar dari Azure Database for PostgreSQL Single server dan Hyperscale (Citus) tidak didukung, kecuali untuk koneksi ke server Azure Database for PostgreSQL dan grup server Hyperscale (Citus) lainnya.