Datastream memungkinkan Anda menstreaming update change data capture (CDC) dari database PostgreSQL atau AlloyDB Omni yang dikelola sendiri ke tujuan yang didukung, seperti BigQuery atau Cloud Storage. Untuk menyiapkan database sumber, Anda harus mengaktifkan replikasi logis, membuat publikasi dan slot replikasi, serta mengonfigurasi pengguna Datastream dengan hak istimewa replikasi.
Mengaktifkan replikasi logis di database
Tetapkan parameter
wal_leveldi database Anda dengan menambahkanwal_level=logicalke filepostgresql.conf.Mulai ulang server.
Membuat publikasi dan slot replikasi
Login ke konsol PostgreSQL sebagai superuser.
Membuat publikasi. Sebaiknya buat publikasi hanya untuk tabel yang ingin Anda replikasi. Hal ini memungkinkan Datastream hanya membaca data yang relevan, serta 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 Anda replikasi.
Anda dapat membuat publikasi untuk semua tabel dalam skema. Dengan pendekatan ini, Anda dapat mereplikasi perubahan untuk tabel dalam daftar skema yang ditentukan, termasuk tabel yang Anda buat di masa mendatang:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLES IN SCHEMA SCHEMA1, SCHEMA2;
Anda juga dapat membuat publikasi untuk semua tabel di database. Perhatikan bahwa pendekatan ini 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 Datastream.
Membuat pengguna Datastream
Untuk membuat pengguna Datastream, masukkan perintah SQL berikut:
CREATE USER USER_NAME WITH ENCRYPTED 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:
ALTER ROLE USER_NAME WITH REPLICATION; 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:
- USER_NAME: Pengguna yang ingin Anda beri hak istimewa.
- SCHEMA_NAME: Nama skema yang ingin Anda beri hak istimewa.
Langkah berikutnya
- Pelajari lebih lanjut cara kerja Datastream dengan sumber PostgreSQL.