Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Menggunakan replikasi logis dengan klaster DB Aurora PostgreSQL
Prosedur berikut menunjukkan cara memulai replikasi logis antara dua klaster DB Aurora PostgreSQL. Baik penerbit dan pelanggan harus dikonfigurasi untuk replikasi logis seperti yang dijelaskan dalam Menyiapkan replikasi logis untuk klaster DB Aurora PostgreSQL Anda.
Klaster DB Aurora PostgreSQL yang merupakan penerbit yang ditunjuk juga harus mengizinkan akses ke slot replikasi. Untuk melakukannya, ubah grup keamanan yang terkait dengan cloud publik virtual (VPC) klaster DB Aurora PostgreSQL berdasarkan layanan Amazon VPC. Izinkan akses masuk dengan menambahkan grup keamanan yang terkait dengan VPC pelanggan ke grup keamanan penerbit. Untuk informasi selengkapnya, lihat Mengontrol lalu lintas ke sumber daya menggunakan grup keamanan di Panduan Pengguna Amazon VPC.
Dengan langkah-langkah awal ini selesai, Anda dapat menggunakan perintah PostgreSQL CREATE
PUBLICATION pada penerbit dan CREATE SUBSCRIPTION pada pelanggan, sebagaimana dijelaskan dalam prosedur berikut.
Untuk memulai replikasi logis antara dua klaster DB Aurora PostgreSQL.
Langkah-langkah ini mengasumsikan bahwa klaster DB Aurora PostgreSQL Anda memiliki instans penulis dengan basis data untuk membuat tabel contoh.
-
Di klaster DB Aurora PostgreSQL penerbit
-
Buat tabel menggunakan pernyataan SQL berikut.
CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY); -
Masukkan data ke dalam basis data penerbit dengan menggunakan pernyataan SQL berikut.
INSERT INTO LogicalReplicationTest VALUES (generate_series(1,10000)); -
Verifikasi bahwa data ada dalam tabel dengan menggunakan pernyataan SQL berikut.
SELECT count(*) FROM LogicalReplicationTest; -
Buat publikasi untuk tabel ini dengan menggunakan pernyataan
CREATE PUBLICATION, sebagai berikut.CREATE PUBLICATION testpub FOR TABLE LogicalReplicationTest;
-
-
Di klaster DB Aurora PostgreSQL pelanggan
-
Buat tabel
LogicalReplicationTestyang sama pada pelanggan yang Anda buat di penerbit, sebagai berikut.CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY); -
Verifikasi bahwa tabel ini kosong.
SELECT count(*) FROM LogicalReplicationTest; -
Buat langganan untuk mendapatkan perubahan dari penerbit. Anda perlu menggunakan detail berikut tentang klaster DB Aurora PostgreSQL penerbit.
-
host – Instans DB penulis klaster DB Aurora PostgreSQL penerbit.
-
port – Port tempat instans DB penulis mendengarkan. Nilai default untuk PostgreSQL adalah 5432.
-
dbname – Nama basis data.
CREATE SUBSCRIPTION testsub CONNECTION 'host=publisher-cluster-writer-endpointport=5432 dbname=db-nameuser=userpassword=password' PUBLICATION testpub;catatan
Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik keamanan terbaik.
Setelah langganan dibuat, slot replikasi logis dibuat di penerbit.
-
-
Untuk memverifikasi contoh ini di mana data awal direplikasi pada pelanggan, gunakan pernyataan SQL berikut pada basis data pelanggan.
SELECT count(*) FROM LogicalReplicationTest;
-
Setiap perubahan lebih lanjut pada penerbit direplikasi ke pelanggan.
Replikasi logis memengaruhi performa. Kami menyarankan Anda menonaktifkan replikasi logis setelah tugas replikasi Anda selesai.