Anda dapat memperluas PostgreSQL dengan memaketkan objek SQL ke dalam satu paket dan menggunakannya sebagai satu unit. Halaman ini berisi informasi tentang cara mengonfigurasi ekstensi PostgreSQL yang didukung Cloud SQL.
Menggunakan ekstensi PostgreSQL
Anda hanya dapat menginstal ekstensi yang didukung oleh Cloud SQL. Untuk informasi selengkapnya, lihat Ekstensi PostgreSQL yang didukung oleh Cloud SQL.
Menginstal ekstensi
Sebelum menggunakan ekstensi, instal ekstensi tersebut:
- Di alat psql, jalankan perintah CREATE EXTENSION.
Persyaratan untuk hak istimewa superuser
Di Cloud SQL, ekstensi hanya dapat dibuat oleh pengguna yang menjadi bagian dari peran
cloudsqlsuperuser
. Saat membuat instance PostgreSQL baru,
pengguna postgres
default akan dibuat untuk Anda (meskipun Anda
harus menyetel sandi pengguna). Pengguna postgres
default adalah bagian dari
peran cloudsqlsuperuser
. Untuk informasi selengkapnya, lihat
Tentang pengguna PostgreSQL.
Koneksi antar-database
Instance target untuk koneksi harus berada dalam jaringan VPC yang sama dengan instance yang terhubung.
Untuk instance cluster, Anda tidak dapat memilih opsi Require trusted client certificate di Google Cloud Console.
Selain itu, agar dapat terhubung ke database dalam instance yang sama, Anda tidak dapat menetapkan host menjadi
localhost atau 127.0.0.1
. Sebagai gantinya, Anda harus menggunakan alamat IP yang ditampilkan untuk instance di Konsol Google Cloud.
Meminta dukungan untuk ekstensi baru
Anda tidak dapat membuat ekstensi sendiri di Cloud SQL.
Guna meminta dukungan untuk ekstensi, klik +1 pada masalah yang terbuka atau buat masalah baru. Untuk daftar masalah Cloud SQL yang terbuka dan informasi tentang pembuatan masalah baru, lihat Menelusuri atau membuat masalah dan permintaan fitur, berdasarkan produk.
Ekstensi PostgreSQL yang didukung oleh Cloud SQL
Untuk mengetahui informasi cara menggunakan ekstensi tertentu, lihat link dokumentasi di salah satu tabel di bawah.
Dukungan Cloud SQL untuk ekstensi PostgreSQL dapat dibagi menjadi kategori berikut:
PostGIS
Ekstensi PostGIS 3.2 didukung untuk Cloud SQL untuk PostgreSQL bagi semua versi utama.
Tabel berikut berisi versi ekstensi PostGIS untuk setiap versi Cloud SQL untuk PostgreSQL:
Versi Cloud SQL untuk PostgreSQL | Ekstensi PostGIS |
PostgreSQL 9.6 | 3.2.5 |
PostgreSQL 10 | 3.2.5 |
PostgreSQL 11 | 3.2.5 |
PostgreSQL 12 | 3.2.5 |
PostgreSQL 13 | 3.2.5 |
PostgreSQL 14 | 3.2.5 |
PostgreSQL 15 | 3.2.5 |
Untuk versi utama PostgreSQL tertentu, pada perintah
CREATE EXTENSION, Anda dapat
menentukan versi ekstensi PostGIS dengan menggunakan klausa VERSION
.
Ekstensi PostGIS mencakup hal berikut:
postgis
postgis_raster
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
address_standardizer
address_standardizer_data_us
Untuk informasi selengkapnya, lihat Penginstalan PostGIS.
Selain itu, Cloud SQL untuk PostgreSQL menyertakan versi 3.3.0 dari ekstensi pgRouting, yang memperluas PostGIS. Ekstensi pgRouting meningkatkan pemrosesan geospasial melalui pemilihan rute dan analisis jaringan.
Anda dapat mengupgrade PostGIS dan ekstensi yang terkait secara manual ke versi terbaru. Untuk mempelajari lebih lanjut cara mengupgrade ekstensi PostGIS Anda, lihat Mengupgrade PostGIS.
Ekstensi jenis data
Ekstensi | Deskripsi |
btree_gin | Menyediakan contoh class operator GIN yang menerapkan perilaku setara
B-tree. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.0. PostgreSQL 10 menggunakan versi 1.2. Semua versi yang lain menggunakan versi 1.3. |
btree_gist | Menyediakan class operator indeks GiST yang menerapkan perilaku setara
B-tree. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.2. PostgreSQL 10, 11, 12, dan 13 menggunakan versi 1.5. PostgreSQL 14 menggunakan versi 1.6. |
chkpass | Mengimplementasikan jenis data chkpass yang dirancang
untuk menyimpan sandi terenkripsi. Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.0. Tidak didukung untuk versi lainnya. |
citext | Menyediakan jenis string karakter yang tidak peka huruf besar/kecil citext .Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.3. PostgreSQL 10 menggunakan versi 1.4. PostgreSQL 11 menggunakan versi 1.5. PostgreSQL 12, 13, dan 14 menggunakan versi 1.6. |
kubus | Mengimplementasikan jenis data cube untuk merepresentasikan kubus multidimensi.Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.2. PostgreSQL 11 menggunakan versi 1.3. PostgreSQL 12 dan 13 menggunakan versi 1.4. PostgreSQL 14 menggunakan versi 1.5. |
hstore | Mengimplementasikan jenis data hstore untuk menyimpan set key-value pair dalam satu nilai PostgreSQL.Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.4. PostgreSQL 11 menggunakan versi 1.5. PostgreSQL 12 menggunakan versi 1.6. PostgreSQL 13 menggunakan versi 1.7. PostgreSQL 14 menggunakan versi 1.8. |
isn | Menyediakan jenis data untuk beberapa standar penomoran produk internasional. Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.1. Semua versi yang lain menggunakan versi 1.2. |
ip4r | Menyediakan jenis data untuk alamat IPv4/v6, dan rentang alamat IP, ditambah
dukungan indeks. Cloud SQL untuk PostgreSQL menggunakan versi 2.4.2. |
ltree | Mengimplementasikan jenis data ltree untuk merepresentasikan label data yang disimpan dalam struktur hierarki berbentuk pohon. Cloud SQL untuk PostgreSQL 9.6, 10, 11, dan 12 menggunakan versi 1.1. PostgreSQL 13 dan 14 menggunakan versi 1.2. |
lo | Dukungan untuk mengelola Objek Besar (juga disebut LO atau BLOB). Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
postgresql-hll | Memperkenalkan jenis data baru, hll , yang merupakan struktur data
HyperLogLog. Lihat juga postgresql-hll dalam
dokumen ini.Cloud SQL untuk PostgreSQL menggunakan versi 2.16. |
awalan | Menyediakan pencocokan awalan, ditambah dukungan indeks. Cloud SQL untuk PostgreSQL menggunakan versi 1.2.0. |
Ekstensi bahasa
Ekstensi | Deskripsi |
plpgsql | Bahasa prosedur yang dapat dimuat untuk membuat fungsi,
prosedur, dan pemicu. Anda juga dapat menggunakan bahasa ini
untuk mengeksekusi kode secara langsung dalam blok DO. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
plv8 | Menyediakan bahasa prosedural untuk mengaktifkan JavaScript. Cloud SQL untuk PostgreSQL menggunakan versi 3.2.0, yang kemudian menggunakan mesin JavaScript V8 versi 11.5. |
Ekstensi lain-lain
Ekstensi | Deskripsi |
amcheck | Menyediakan fungsi untuk memverifikasi konsistensi logis struktur hubungan, yang memungkinkan aplikasi pg_amcheck untuk memeriksa kerusakan. |
auto_explain | Mengaktifkan logging otomatis rencana eksekusi pernyataan lambat, untuk pemecahan masalah dan lainnya. Menyediakan cara otomatis untuk menjalankan fungsionalitas perintah EXPLAIN. Lihat juga auto_explain dalam dokumen ini. |
autoinc | Menyediakan fungsi untuk menambahkan kolom secara otomatis. Pemicu ini menyimpan nilai urutan berikutnya ke dalam kolom bilangan bulat. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
mekar | Menyediakan metode untuk mengakses indeks berdasarkan filter mekar. Filter bloom adalah struktur data hemat ruang yang dapat digunakan untuk menguji apakah suatu elemen merupakan anggota dari suatu set. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
dblink | Menyediakan fungsi untuk terhubung ke database PostgreSQL dari dalam
sesi database. Lihat juga
dblink dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
decoderbuf | Decoder logis PostgreSQL yang memberikan data output dalam bentuk Buffering Protokol, yang disesuaikan untuk Debezium. |
dict_int | Template kamus add-on untuk penelusuran teks lengkap yang mengontrol
pengindeksan bilangan bulat. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
earthdistance | Menyediakan dua pendekatan untuk menghitung jarak lingkaran besar pada
permukaan Bumi. Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
fuzzystrmatch | Menyediakan beberapa fungsi untuk menentukan kesamaan dan jarak antar
string. Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
insert_username | Menyediakan fungsi untuk menyimpan nama pengguna saat ini ke dalam kolom teks. Anda dapat menggunakan ini untuk melacak siapa yang terakhir mengubah baris dalam tabel {i>database<i}. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
intagg | Menyediakan agregator bilangan bulat dan enumerator. Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
intarray | Menyediakan sekumpulan fungsi dan operator untuk memanipulasi array bilangan bulat tanpa
nilai null serta melakukan penelusuran terindeks pada bilangan tersebut. Cloud SQL untuk PostgreSQL 9.6, 10, 11, dan 12 menggunakan versi 1.2. PostgreSQL 13 menggunakan versi 1.3. PostgreSQL 14 menggunakan versi 1.5. |
moddatetime | Menyediakan fungsi untuk menyimpan waktu saat ini ke dalam kolom timestamp . Anda dapat menggunakan ini untuk melacak kapan terakhir kali baris dalam tabel {i>database<i} diubah.Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
oracle_fdw | Menyediakan wrapper data asing (fdw) untuk mengakses database Oracle dengan mudah dan efisien. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
Orafce | Menyediakan fungsi dan operator yang mengemulasikan subset fungsi dan paket dari database Oracle. Gunakan fungsi ini untuk mem-porting aplikasi Oracle ke PostgreSQL. Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 4.6.1. PostgreSQL 11 dan yang lebih baru menggunakan versi 4.7.0. |
pageinspect | Memeriksa konten halaman database pada level rendah. Lihat juga
pageinspect dalam dokumen ini. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.5. PostgreSQL 10 menggunakan versi 1.6. PostgreSQL 11 dan 12 menggunakan versi 1.7. PostgreSQL 13 dan 14 menggunakan versi 1.8. |
pgAudit | Mengumpulkan data audit.
Nilai yang mungkin ditetapkan untuk file log audit pada semua versi
pgAudit adalah Untuk informasi selengkapnya tentang cara menggunakan ekstensi ini dengan Cloud SQL, lihat Mengaudit PostgreSQL menggunakan pgAudit. |
pg_background | Memungkinkan Anda menjalankan perintah arbitrer di pekerja latar belakang. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
pg_bigm | Mengaktifkan penelusuran teks lengkap, dan memungkinkan indeks dua gram (bigram) untuk penelusuran teks lengkap yang lebih cepat. Lihat juga pg_bigm dalam dokumen ini. |
pg_buffercache | Menyediakan sarana untuk memeriksa apa yang terjadi di cache buffer bersama
secara real time. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.2. PostgreSQL 10, 11, 12, 13, dan 14 menggunakan versi 1.3. |
pg_cron | Menyediakan scheduler tugas berbasis cron. Ekstensi ini memungkinkan sintaksis cron
menjadwalkan perintah PostgreSQL langsung dari database. Untuk informasi
selengkapnya tentang ekstensi, lihat pg_cron
dalam dokumen ini. Cloud SQL untuk PostgreSQL versi 10 dan yang lebih baru menggunakan versi 1.6.0. |
pgcrypto | Menyediakan fungsi kriptografi untuk PostgreSQL. Cloud SQL untuk PostgreSQL menggunakan versi 1.3. |
pglogical | Menyediakan replikasi logis untuk PostgreSQL. Lihat
Menyiapkan replikasi dan decoding logis. Cloud SQL untuk PostgreSQL menggunakan versi 2.4.3. |
pgfincore | Kumpulan fungsi untuk mengelola halaman di memori cache disk sistem operasi
dari PostgreSQL. Lihat juga
pgfincore dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 1.3.1. |
pg_freespacemap | Memeriksa peta ruang kosong (FSM).
Lihat juga pg_freespacemap dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
pg_hint_plan | Memungkinkan Anda meningkatkan rencana eksekusi PostgreSQL menggunakan petunjuk, yang merupakan deskripsi sederhana dalam komentar SQL. Lihat juga pg_hint_plan dalam dokumen ini. |
pgoutput | Plugin ini digunakan oleh replikasi logis untuk pengambilan data perubahan.
pgoutput adalah plugin default, sehingga didukung di
semua versi Cloud SQL untuk PostgreSQL.
|
pg_partman | Memungkinkan Anda membuat dan mengelola kumpulan partisi tabel berbasis waktu
dan serial. Lihat juga
pg_partman dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 4.7.4. |
pg_prewarm | Menyediakan cara yang mudah untuk memuat data hubungan ke dalam cache buffer sistem
operasi atau cache buffer PostgreSQL. Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.1. PostgreSQL 11, 12, 13, dan 14 menggunakan versi 1.2. |
pg_proctab | Memungkinkan Anda menggunakan pg_top dengan Cloud SQL untuk PostgreSQL, dan membuat laporan dari tabel proses sistem operasi. Lihat juga pg_proctab dalam dokumen ini. |
pg_repack | Memungkinkan Anda menghilangkan pembengkakan dari tabel dan indeks.
Secara opsional, memungkinkan Anda melakukan CLUSTER online (urutkan tabel berdasarkan indeks
cluster). Lihat juga pg_repack dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 1.5.0. |
pgrowlock | Memberikan informasi penguncian baris untuk tabel yang ditentukan. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
pgstattuple | Menyediakan berbagai fungsi untuk mendapatkan statistik tingkat tuple. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.4. Semua versi yang lain menggunakan versi 1.5. |
pg_similarity | Memberikan dukungan untuk kueri kesamaan di PostgreSQL. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
pg_squeeze | Menghapus ruang yang tidak digunakan dari tabel dan secara opsional menggunakan indeks untuk mengurutkan record atau baris (tuple) dalam tabel. Untuk informasi selengkapnya tentang ekstensi ini, lihat pg_squeeze dalam dokumen ini. Cloud SQL untuk PostgreSQL versi 11 dan yang lebih baru menggunakan versi 1.5. |
pg_stat_statements | Menyediakan sarana untuk melacak statistik eksekusi semua pernyataan SQL
yang dijalankan. Cloud SQL untuk PostgreSQL 9.6 menggunakan versi 1.4. PostgreSQL 10 dan 11 menggunakan versi 1.6. PostgreSQL 12 menggunakan 1.7. PostgreSQL 13 menggunakan 1.8. PostgreSQL 14 menggunakan versi 1.9. |
pgTAP | Menyediakan framework pengujian unit untuk PostgreSQL, yang ditulis dalam PL/pgSQL
dan PL/SQL. Cloud SQL untuk PostgreSQL menggunakan versi 1.3.0. |
pg_trgm | Menyediakan fungsi dan operator untuk menentukan kesamaan teks alfanumerik berdasarkan pencocokan trigram, serta class operator indeks yang
mendukung penelusuran cepat untuk string serupa. Cloud SQL untuk PostgreSQL 9.6 dan 10 menggunakan versi 1.3. PostgreSQL 11 dan 12 menggunakan versi 1.4. PostgreSQL 13 menggunakan 1.5. PostgreSQL 14 menggunakan versi 1.6. |
pgtt | Membuat dan mengelola tabel sementara global dengan gaya DB2 atau Oracle di dalam
database PostgreSQL. |
pgvector | Ekstensi open source untuk menyimpan dan menelusuri embedding vektor di database PostgreSQL. |
pg_visibility | Menyediakan cara untuk memeriksa peta visibilitas (VM) dan informasi visibilitas
tingkat halaman dari sebuah tabel. Lihat juga
pg_visibility dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
pg_wait_sampling | Mengumpulkan statistik pengambilan sampel dari peristiwa tunggu, yang menyediakan data peristiwa tunggu untuk proses di server. Cloud SQL untuk PostgreSQL menggunakan versi 1.1.5. |
PL/Proxy | Pengendali bahasa prosedural yang memungkinkan panggilan prosedur jarak jauh antar
database PostgreSQL, dengan sharding opsional.
Lihat juga
PL/Proxy dalam dokumen ini. Cloud SQL untuk PostgreSQL menggunakan versi 2.11.0. |
postgres_fdw | Memungkinkan wrapper data asing dibuat di dalam atau di seluruh
instance. Lihat juga
postgres_fdw dalam dokumen ini. Cloud SQL untuk PostgreSQL 9.6, 10, 11, 12, dan 13 menggunakan versi 1.0. PostgreSQL 14 menggunakan versi 1.1. |
postgresql_anonymizer | Menyamarkan atau mengganti informasi identitas pribadi (PII) atau data sensitif dari database PostgreSQL. Untuk informasi selengkapnya, lihat bagian postgresql_anonymizer. Cloud SQL untuk PostgreSQL menggunakan versi 1.0.0. |
postgresql_hll | Menyediakan struktur data HyperLogLog ( Cloud SQL untuk PostgreSQL menggunakan versi 2.18. |
rdkit | Kumpulan software informatika kimia dan machine learning. Anda dapat menggunakan
ekstensi ini untuk membandingkan, memanipulasi, dan mengidentifikasi struktur molekul.
Cloud SQL untuk PostgreSQL menggunakan versi 4.2.0. |
refint | Termasuk fungsi untuk memeriksa batasan kunci asing, tabel yang merujuk, dan tabel yang dirujuk. Ekstensi ini juga menunjukkan Server Programming Interface (SPI). Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
sslinfo | Menyediakan informasi tentang sertifikat SSL yang saat ini klien berikan
saat terhubung ke instance. Cloud SQL untuk PostgreSQL menggunakan versi 1.2. |
tablefunc | Menyertakan berbagai fungsi yang menampilkan tabel (beberapa baris). Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
tcn | Menyediakan fungsi pemicu yang memberi tahu pemroses tentang perubahan pada konten tabel database. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
tsm_system_rows | Menyediakan metode pengambilan sampel tabel SYSTEM_ROWS, yang dapat digunakan dalam
klausa TABLESAMPLE perintah SELECT. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
tsm_system_time | Menyediakan metode pengambilan sampel tabel SYSTEM_TIME, yang dapat digunakan dalam
klausa TABLESAMPLE perintah SELECT. Cloud SQL untuk PostgreSQL menggunakan versi 1.0. |
unaccent | Kamus penelusuran teks yang menghapus aksen (tanda diakritik) dari
leksem. Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
uuid-ossp | Menyediakan fungsi untuk menghasilkan ID unik universal (UUID)
menggunakan salah satu dari beberapa algoritma standar. Cloud SQL untuk PostgreSQL menggunakan versi 1.1. |
Selengkapnya tentang beberapa ekstensi PostgreSQL
Bagian ini menjelaskan informasi selengkapnya tentang beberapa ekstensi PostgreSQL yang didukung dalam tabel di atas.
auto_explain
Untuk mulai menggunakan ekstensi ini pada sebuah instance, tetapkan flag
cloudsql.enable_auto_explain
ke on
. Untuk mengetahui informasi tentang cara menyetel
dan meninjau flag yang didukung untuk ekstensi ini, lihat
Mengonfigurasi flag database.
Atau, bagi pengguna yang memiliki (hanya) peran cloudsqlsuperuser
, Anda dapat
menggunakan perintah load
untuk memuat ekstensi ini untuk satu sesi.
dblink
Dari dalam sesi database, Anda dapat menggunakan ekstensi ini untuk terhubung ke database PostgreSQL dan menjalankan kueri.
Saat ini, ekstensi ini berfungsi untuk dua instance IP pribadi Cloud SQL dalam jaringan VPC yang sama, atau untuk lintas database dalam instance yang sama.
Untuk informasi tambahan, lihat dblink dalam dokumentasi PostgreSQL.
Gunakan dblink untuk terhubung dengan sandi
Untuk terhubung ke database, atau untuk terhubung ke instance yang sama dengan pengguna lain, Anda harus menentukan sandi. Sebagai tujuan contoh (tetapi bukan untuk tujuan produksi), berikut ini cuplikan kodenya:
SELECT * FROM dblink (
'dbname=name port=1234 host=host user=user password=password',
'select id, name from table' \
) AS t(id int, name text);
Atau, untuk menyiapkan koneksi saja, berikut ini cuplikan kode untuk tujuan contoh (bukan untuk tujuan produksi):
SELECT dblink_connect('dbname=dblinktest user=postgres host=name_or_ip password=xxx');
Gunakan dblink untuk terhubung tanpa sandi
Untuk terhubung ke instance yang sama dengan pengguna yang sama, Anda dapat terhubung tanpa sandi. Contoh:
Setel flag database berikut untuk mengaktifkan koneksi lokal tanpa sandi
cloudsql.allow_passwordless_local_connections
Menghubungkan tanpa menentukan host, yang berarti menghubungkan ke instance yang sama. Berikut ini contohnya:
SELECT * FROM dblink('dbname=finance user=alice', 'select income from revenue') AS revenue(income integer);
Hasilnya bisa mirip dengan yang berikut ini:
income -------- 1000 (1 row)
Agar dapat terhubung ke database dalam instance yang sama,
Anda tidak dapat menetapkan host ke localhost atau 127.0.0.1
. Sebagai gantinya,
Anda harus menggunakan alamat IP yang ditampilkan untuk instance di Konsol Google Cloud.
Lihat juga postgres_fdw dan PL/Proxy dalam dokumen ini.
pageinspect
Ekstensi ini memeriksa konten halaman database pada tingkat rendah. Untuk mengetahui informasi selengkapnya, lihat pageinspect dalam dokumentasi PostgreSQL.
pg_bigm
Ekstensi ini memungkinkan penelusuran teks lengkap, dan memungkinkan indeks dua gram (bigram) untuk penelusuran teks lengkap yang lebih cepat.
Untuk mulai menggunakan ekstensi ini pada sebuah instance, tetapkan flag
cloudsql.enable_pg_bigm
ke on
. Flag berikut juga didukung:
pg_bigm.enable_recheck
pg_bigm.gin_key_limit
pg_bigm.similarity_limit
Untuk mengetahui informasi tentang cara menetapkan dan meninjau flag yang didukung untuk ekstensi ini, lihat Mengonfigurasi flag database.
pg_cron
Untuk mulai menggunakan pg_cron pada
instance, tetapkan flag cloudsql.enable_pg_cron
ke on
. Untuk mengetahui informasi cara
menetapkan dan meninjau flag yang didukung untuk ekstensi ini, lihat
Mengonfigurasi flag database.
Tugas dikonfigurasi sebagai worker latar belakang, sehingga Anda mungkin perlu
menggunakan teknik PostgreSQL standar
(seperti flag max_worker_processes
) untuk menyesuaikan jumlah
worker latar belakang tersebut.
Untuk ekstensi ini, Cloud SQL mendukung mode worker latar belakang, tetapi tidak mendukung antarmuka libpq. Oleh karena itu, autentikasi kepercayaan yang melibatkan ekstensi ini tidak diperlukan.
pgfincore
Ekstensi ini menyertakan fungsi untuk mengelola halaman dalam memori cache disk sistem operasi dari PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat dokumentasi pgfincore.
pg_freespacemap
Ekstensi ini memeriksa peta ruang kosong (FSM). Untuk informasi selengkapnya, lihat pg_freespacemap dalam dokumentasi PostgreSQL.
pg_hint_plan
Untuk mulai menggunakan ekstensi ini pada sebuah instance, tetapkan flag
cloudsql.enable_pg_hint_plan
ke on
. Untuk mengetahui informasi tentang cara menyetel
dan meninjau flag yang didukung untuk ekstensi ini, lihat
Mengonfigurasi flag database.
Atau, hanya untuk pengguna dengan peran cloudsqlsuperuser
, Anda dapat
menggunakan perintah load
untuk memuat ekstensi ini untuk satu sesi.
pg_partman
Ekstensi ini memungkinkan Anda membuat dan mengelola kumpulan partisi tabel berbasis waktu dan berbasis serial.
Di Cloud SQL, ekstensi ini tidak menyertakan worker latar belakang untuk pemeliharaan partisi otomatis. Sebagai gantinya, Anda dapat menggunakan, misalnya, Cloud Scheduler untuk mengatur pemeliharaan dengan memanggil fungsi pemeliharaan secara teratur pada interval tertentu.
pg_proctab
Berikut adalah langkah-langkah untuk menggunakan ekstensi pg_proctab untuk mengaktifkan aplikasi utilitas pg_top:
- Di alat psql, jalankan perintah CREATE EXTENSION untuk pg_proctab.
- Download dan jalankan pg_top.
- Saat terhubung ke instance Cloud SQL untuk PostgreSQL, tambahkan opsi
-r
untuk terhubung ke remote database, guna mendapatkan metrik.
Berikut adalah metrik seluruh instance yang termasuk dalam output, termasuk penggunaan oleh agen dukungan dan layanan yang lain dalam instance:
- Rata-rata beban
- Status CPU (% pengguna, bagus, sistem, tidak ada aktivitas, dan menunggu I/O)
- Memori (digunakan, bebas, dan di-cache)
pg_repack
Ekstensi ini memungkinkan Anda menghilangkan pembengkakan dari tabel dan indeks. Secara opsional, Anda dapat menggunakan ekstensi ini untuk melakukan CLUSTER online (mengurutkan tabel berdasarkan indeks cluster). Untuk informasi selengkapnya, lihat dokumentasi pg_repack. Selain itu, untuk penggunaan ekstensi ini di Cloud SQL, prosedur khusus diperlukan untuk menambahkan hak istimewa kepada pengguna.
Jika pengguna di luar peran cloudsqlsuperuser
ingin menggunakan ekstensi,
Anda harus memberikan hak istimewa cloudsqlsuperuser
kepada pengguna. Untuk informasi selengkapnya, dalam
dokumen ini, lihat Persyaratan hak istimewa superuser.
Contoh berikut menggunakan perintah GRANT
untuk menambahkan hak istimewa yang diperlukan.
Contoh menambahkan hak istimewa
Untuk tujuan contoh di bawah ini, csuper1
adalah cloudsqlsuperuser
dan testdb
adalah
database yang dimiliki oleh testuser
. Untuk membuat ekstensi pg_repack di testdb
,
mulai dengan menjalankan perintah berikut:
Hubungkan ke
testdb
sebagaicloudsqlsuperuser
:psql -U csuper1 -d testdb;
Berikan pemilik database, yaitu
testuser,
kepadacsuper1
:GRANT testuser TO csuper1;
Buat ekstensi:
CREATE EXTENSION pg_repack;
Jalankan perintah
pg_repack
pada tabel, sepertit1
ditestdb
, sebagaicsuper1
:pg_repack -h <hostname> -d testdb -U csuper1 -k -t t1
Setelah tugas pg_repack selesai, cabut pemberian izin yang Anda lakukan pada langkah 2:
REVOKE testuser FROM csuper1;
Perintah pg_repack
mungkin gagal dengan error berikut:
"ERROR: query failed: SSL SYSCALL error: EOF detected"
Jika terjadi error tersebut, coba setel keepalive TCP ke nilai yang lebih kecil, lalu jalankan
perintah pg_repack
. Untuk mengetahui informasi selengkapnya, lihat
Waktu tunggu koneksi (dari Compute Engine).
pg_squeeze
Ekstensi ini menghapus ruang yang tidak digunakan dari tabel dan secara opsional menggunakan indeks untuk mengurutkan tupel tabel. Untuk mulai menggunakan ekstensi pada instance, tetapkan flag cloudsql.enable_pg_squeeze
ke on
.
Ekstensi ini juga mendukung decoding logis dengan menulis informasi tambahan ke write-ahead log (WAL). Guna mengaktifkan fungsi ini untuk ekstensi, setel parameter konfigurasi wal_level
ke logical
atau yang lebih tinggi dengan menetapkan tanda cloudsql.logical_decoding
ke on
.
Ekstensi memerlukan nilai yang ditetapkan untuk flag max_replication_slots
. Jika Anda belum menentukan nilai untuk tanda ini, tetapkan nilai ke 1
. Jika tidak, tambahkan 1 ke nilai yang ditetapkan untuk flag tersebut.
Untuk mengetahui informasi tentang cara menyetel tanda dan meninjau tanda yang didukung untuk ekstensi ini, lihat Mengonfigurasi tanda database.
pgtt
Untuk mulai menggunakan ekstensi ini pada sebuah instance, tetapkan
flag pgtt.enabled
ke on
. Untuk mengetahui informasi tentang
cara menetapkan dan meninjau flag yang didukung untuk ekstensi ini, lihat
Mengonfigurasi flag database.
pg_visibility
Ekstensi ini menyediakan cara untuk memeriksa peta visibilitas (VM) dan informasi visibilitas tingkat halaman dari sebuah tabel. Untuk informasi selengkapnya, lihat pg_visibility dalam dokumentasi PostgreSQL.
PL/Proxy
Ekstensi ini adalah pengendali bahasa prosedural yang memungkinkan panggilan prosedur jarak jauh antar database PostgreSQL, dengan sharding opsional.
Untuk informasi selengkapnya, lihat dokumentasi PL/Proxy.
Instance target untuk koneksi harus berada dalam jaringan VPC yang sama dengan instance yang terhubung. Selain itu, Anda tidak dapat memilih tombol Izinkan hanya koneksi SSL untuk instance cluster di Konsol Google Cloud.
Agar dapat terhubung ke database dalam instance yang sama,
Anda tidak dapat menetapkan host ke localhost atau 127.0.0.1
. Sebagai gantinya,
Anda harus menggunakan alamat IP yang ditampilkan untuk instance di Konsol Google Cloud.
Lihat juga postgres_fdw dan dblink dalam dokumen ini.
postgresql_anonymizer
Untuk mulai menggunakan ekstensi ini pada sebuah instance, tetapkan flag
cloudsql.enable_anon
ke on
. Untuk mengetahui informasi tentang
cara menetapkan dan meninjau flag yang didukung untuk ekstensi ini, lihat
Mengonfigurasi flag database.
postgres_fdw
Dengan ekstensi ini, tabel dari database PostgreSQL lain ("asing") diekspos sebagai tabel "asing" dalam database saat ini. Tabel tersebut kemudian tersedia untuk digunakan, hampir seolah-olah tabel itu adalah tabel lokal. Untuk informasi selengkapnya, lihat postgres_fdw dalam dokumentasi PostgreSQL.
Ekstensi ini berfungsi untuk dua instance IP pribadi Cloud SQL dalam jaringan VPC yang sama, atau untuk database silang dalam instance yang sama.
Agar dapat terhubung ke database dalam instance yang sama, Anda tidak dapat menetapkan host ke
localhost atau 127.0.0.1
. Sebagai gantinya, Anda harus menggunakan alamat IP yang ditampilkan untuk instance di Konsol Google Cloud.
Selain itu, untuk kasus tempat data asing disimpan, Anda dapat memilih opsi Allow only SSL connection di Konsol Google Cloud.
Anda tidak dapat memilih opsi
Wajibkan sertifikat klien tepercaya.
Hanya cloudsqlsuperuser
yang dapat menjadi pemilik
wrapper data asing postgres_fdw
.
Lihat juga PL/Proxy dan dblink dalam dokumen ini.
postgresql-hll
Ekstensi ini memperkenalkan jenis data baru, hll
, yang merupakan struktur data
HyperLogLog. Untuk informasi selengkapnya, lihat
dokumentasi postgresql-hll.