Mengonfigurasi ekstensi PostgreSQL

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:

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:

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 READ, WRITE, FUNCTION, ROLE, DDL, MISC, dan ALL. Untuk versi 1.4.2 hingga 1.6.1, Anda juga dapat menetapkan nilai MISC_SET.

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.
Cloud SQL untuk PostgreSQL menggunakan versi 3.0.

pgvector

Ekstensi open source untuk menyimpan dan menelusuri embedding vektor di database PostgreSQL.

Cloud SQL untuk PostgreSQL menggunakan versi 0.5.1.

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 (hll) yang memperkirakan kardinalitas kumpulan.

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.

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.

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

Untuk terhubung ke instance yang sama dengan pengguna yang sama, Anda dapat terhubung tanpa sandi. Contoh:

  1. Setel flag database berikut untuk mengaktifkan koneksi lokal tanpa sandi
    cloudsql.allow_passwordless_local_connections

  2. 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:

  1. Di alat psql, jalankan perintah CREATE EXTENSION untuk pg_proctab.
  2. Download dan jalankan pg_top.
  3. 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:

  1. Hubungkan ke testdb sebagai cloudsqlsuperuser:

    psql -U csuper1 -d testdb;
    
  2. Berikan pemilik database, yaitu testuser, kepada csuper1:

    GRANT testuser TO csuper1;
    
  3. Buat ekstensi:

    CREATE EXTENSION pg_repack;
    
  4. Jalankan perintah pg_repack pada tabel, seperti t1 di testdb, sebagai csuper1:

    pg_repack -h <hostname> -d testdb -U csuper1 -k -t t1
    
  5. 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.