Bagian berikut membahas cara mengonfigurasi database Cloud SQL untuk PostgreSQL.
Mengaktifkan replikasi logis
Buka Cloud SQL di Konsol Google Cloud.
Buka instance Cloud SQL lalu klik EDIT.
Buka bagian Flags.
Klik ADD FLAG.
Pilih bendera
cloudsql.logical_decoding
dari menu drop-down.Tetapkan nilai flag ke on.
Klik SIMPAN untuk menyimpan perubahan. Anda harus memulai ulang instance untuk memperbarui instance dengan perubahan tersebut.
Setelah instance dimulai ulang, konfirmasi perubahan di bagian Flag database di halaman Overview.
Membuat slot publikasi dan replikasi
Hubungkan ke database sebagai pengguna yang memiliki hak istimewa yang memadai untuk membuat slot replikasi; jika tidak, jalankan perintah berikut:
ALTER USER USER_NAME WITH REPLICATION;
Ganti kode berikut:
- USER_NAME: Nama pengguna yang ingin Anda beri hak istimewa replikasi.
Membuat publikasi. Sebaiknya buat publikasi hanya untuk tabel yang ingin Anda replikasi. Hal ini memungkinkan Datastream untuk hanya membaca data yang relevan, dan menurunkan beban pada database dan Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
Ganti kode berikut:
- PUBLICATION_NAME: Nama publikasi Anda. Anda harus memberikan nama ini saat membuat aliran data di wizard pembuatan aliran data Datastream.
- SCHEMA: Nama skema yang berisi tabel.
- TABLE: Nama tabel yang ingin direplikasi.
Anda dapat membuat publikasi untuk semua tabel dalam skema. Pendekatan ini memungkinkan Anda mereplikasi perubahan untuk tabel dalam daftar skema yang ditentukan, termasuk tabel yang Anda buat pada masa mendatang:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLES IN SCHEMA1, SCHEMA2;
Anda juga dapat membuat publikasi untuk semua tabel di database. Perhatikan bahwa pendekatan ini akan meningkatkan beban pada database sumber dan Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
Buat slot replikasi dengan memasukkan perintah SQL berikut:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');
Ganti kode berikut:
- REPLICATION_SLOT_NAME: Nama slot replikasi Anda. Anda harus memberikan nama ini saat membuat aliran data di wizard pembuatan aliran data.
Membuat pengguna Datastream
Hubungkan ke database menggunakan klien PostgreSQL.
Masukkan perintah PostgreSQL berikut:
CREATE USER USER_NAME WITH REPLICATION LOGIN PASSWORD 'USER_PASSWORD';
Ganti kode berikut:
- USER_NAME: Nama pengguna Datastream yang ingin Anda buat.
- USER_PASSWORD: Sandi login untuk pengguna Datastream yang ingin Anda buat.
Berikan hak istimewa berikut kepada pengguna yang Anda buat:
GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
Ganti kode berikut:
- SCHEMA_NAME: Nama skema tempat Anda ingin memberikan hak istimewa.
- USER_NAME: Pengguna yang ingin Anda beri hak istimewa.