Bagikan melalui


Ekstensi PostgreSQL di Azure Cosmos DB for PostgreSQL

BERLAKU UNTUK: Azure Cosmos DB untuk PostgreSQL (didukung oleh ekstensi database Citus untuk PostgreSQL)

PostgreSQL memperluas fungsionalitas database Anda dengan 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.

Gunakan 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');

Untuk menghapus ekstensi yang diinstal dengan cara ini, gunakan drop_extension().

Azure Cosmos DB for PostgreSQL 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 Cosmos DB for PostgreSQL.

Ekstensi yang didukung oleh Azure Cosmos DB for PostgreSQL

Tabel berikut mencantumkan ekstensi PostgreSQL standar yang didukung di Azure Cosmos DB for PostgreSQL. Informasi ini juga tersedia dengan menjalankan SELECT * FROM pg_available_extensions;.

Versi setiap ekstensi yang diinstal dalam kluster terkadang berbeda berdasarkan versi PostgreSQL (11, 12, 13, 14, 15, atau 16). Tabel mencantumkan versi ekstensi per versi database.

Ekstensi Citus

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Database yang didistribusikan Citus. 9,5 10.2 11.3 12.1 12.1 12.1

Ekstensi jenis data

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext Menyediakan jenis string karakter yang tidak sensitif terhadap huruf besar/kecil. 1.5 1.6 1.6 1.6 1.6 1.6
kubus Menyediakan jenis data untuk kubus multidimensi. 1.4 1.4 1.4 1.5 1.5 1.5
hll Menyediakan struktur data HyperLogLog. 2,18 2,18 2,18 2,18 2,18 2,18
hstore Menyediakan jenis data untuk menyimpan sekumpulan pasangan kunci-nilai. 1.5 1.6 1.7 1.8 1.8 1.8
isn Menyediakan jenis data untuk standar penomoran produk internasional. 1.2 1.2 1.2 1.2 1.2 1.2
Halo Pemeliharaan Objek Besar. 1.1 1.1 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 1.2 1.2
Seg Jenis data untuk mewakili segmen garis atau interval titik mengambang. 1.3 1.3 1.3 1.4 1.4 1.4
tdigest Jenis data untuk akumulasi daring statistik berbasis peringkat seperti kuantil dan rata-rata terpotong. 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn Tipe data untuk top-n JSONB. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

Ekstensi pencarian teks lengkap

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int Menyediakan templat kamus pencarian teks untuk bilangan bulat. 1.0 1.0 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 1.0 1.0
tanpa aksen Kamus pencarian teks yang menghapus aksen (tanda diakritik) dari leksem. 1.1 1.1 1.1 1.1 1.1 1.1

Ekstensi fungsi

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc Fungsi untuk bidang peningkatan otomatis. 1.0 1.0 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 1.1 1.1
fuzzystrmatch Menyediakan beberapa fungsi untuk menentukan persamaan dan jarak antar string. 1.1 1.1 1.1 1.1 1.1 1.2
insert_username Fungsi untuk melacak siapa yang mengubah tabel. 1.0 1.0 1.0 1.0 1.0 1.0
intagg Agregator tipe data bilangan bulat dan enumerator (usang). 1.1 1.1 1.1 1.1 1.1 1.1
intarray Menyediakan fungsi dan operator untuk memanipulasi array bilangan bulat tanpa null. 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime Fungsi untuk melacak waktu modifikasi terakhir. 1.0 1.0 1.0 1.0 1.0 1.0
orafce Fungsi dan operator yang meniru subset fungsi dan paket dari Oracle RDBMS. 4.9 4.9 4.9
pg_partman Mengelola tabel yang dipartisi menurut waktu atau ID. 4.7.4 4.7.4 4.7.4 5.1.0 5.1.0 5.1.0
pg_surgery Fungsi untuk melakukan operasi pada hubungan yang rusak. 1.0 1.0 1.0
pg_trgm Menyediakan fungsi dan operator untuk menentukan persamaan teks alfanumerik berdasarkan pencocokan trigram. 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto Menyediakan fungsi kriptografi. 1.3 1.3 1.3 1.3 1.3 1.3
refint Fungsi untuk mengimplementasikan integritas referensial (usang). 1.0 1.0 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 1.0 1.0
tcn Pemberitahuan perubahan yang dipicu. 1.0 1.0 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 1.1 1.1

Ekstensi tipe indeks

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
mekar Metode akses Bloom - indeks berbasis file signature. 1.0 1.0 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. 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist Menyediakan kelas operator indeks GiST yang mengimplementasikan pohon B. 1.5 1.5 1.5 1.6 1.7 1.7

Ekstensi bahasa

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql Bahasa prosedural yang dapat dimuat PL/pgSQL. 1.0 1.0 1.0 1.0 1.0 1.0

Ekstensi lain-lain

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck Fungsi untuk memverifikasi integritas relasi. 1.1 1.2 1.2 1.3 1.3 1.3
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 1.2 1.2
old_snapshot Memungkinkan inspeksi status server yang digunakan untuk mengimplementasikan old_snapshot_threshold. 1.0 1.0 1.0
pageinspect Memeriksa konten halaman database pada tingkat rendah. 1.7 1.7 1.8 1.9 1.11 1.12
pg_azure_storage Integrasi Azure untuk PostgreSQL. 1.3 1.3 1.3 1.3
pg_buffercache Menyediakan sarana untuk memeriksa apa yang terjadi di buffer cache bersama secara real time. 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron Penjadwal pekerjaan untuk PostgreSQL. 1.5 1.6 1.6 1.6 1.6 1.6
pg_freespacemap Memeriksa peta ruang bebas (FSM). 1.2 1.2 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 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 1.10 1.10
pg_visibility Memeriksa peta visibilitas (VM) dan informasi visibilitas tingkat halaman. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks Menyediakan sarana untuk menampilkan informasi penguncian tingkat baris. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Menyediakan cara untuk menampilkan statistik pada tingkat tuple. 1.5 1.5 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 1.1 1.1
sslinfo Informasi tentang sertifikat TLS/SSL. 1.2 1.2 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 1.0 1.0
tsm_system_time Metode TABLESAMPLE, yang menerima waktu dalam milidetik sebagai batas. 1.0 1.0 1.0 1.0 1.0 1.0
xml2 Kuery XPath dan XSLT. 1.1 1.1 1.1 1.1 1.1 1.1

Ekstensi Pgvector

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Pencarian kesamaan vektor sumber terbuka untuk Postgres 0.5.1 0.7.0 0.7.0 0.7.0 0.7.0 0.7.0

Ekstensi PostGIS

Ekstensi Keterangan PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS Objek spasial dan geografis untuk PostgreSQL. 3.3.4 3.4.1 3.4.1 3.4.1 3.4.1 3.4.1
penyesuai_alamat Digunakan untuk menguraikan alamat ke dalam elemen penyusun. Digunakan untuk mendukung langkah normalisasi alamat geocoding. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_sfcgal Fungsi PostGIS SFCGAL. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_topology Fungsi dan jenis spasial topologi PostGIS. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2

pg_stat_statements

Ekstensi pg_stat_statements dimuat sebelumnya pada setiap kluster Azure Cosmos DB for PostgreSQL untuk memberi Anda sarana pelacakan 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.

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 wawasan performa kueri, jadi konfirmasi apakah itu terjadi untuk Anda atau tidak.

Anda dapat menggunakan dblink dan postgres_fdw untuk menyambungkan dari satu server PostgreSQL ke yang lain, atau ke database lain di server yang sama. Server penerima perlu mengizinkan koneksi dari server pengirim melalui firewall-nya. Untuk menggunakan ekstensi ini untuk terhubung antara kluster Azure Cosmos DB for PostgreSQL dengan akses publik, atur Izinkan layanan dan sumber daya Azure untuk mengakses kluster 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 mengakses kluster ini dapat ditemukan di halaman portal Azure untuk kluster di bawah Jaringan. Saat ini, koneksi keluar dari Azure Cosmos DB for PostgreSQL tidak didukung.

Ekstensi Orafce

Fungsi utl_file dinonaktifkan dalam ekstensi orafce.

Langkah berikutnya