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.

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.