pgsql2pgsql adalah alat open source yang terintegrasi dalam rds_dbsync dan digunakan untuk memigrasi data PostgreSQL. Alat ini mendukung migrasi atau sinkronisasi data antara PostgreSQL, PPAS, Greenplum Database, dan AnalyticDB for PostgreSQL.
Fitur-fitur pgsql2pgsql
pgsql2pgsql mendukung fitur-fitur berikut:
Migrasi data penuh dari database PostgreSQL, PPAS, Greenplum Database, atau AnalyticDB for PostgreSQL ke database PostgreSQL lainnya, PPAS, Greenplum Database, atau AnalyticDB for PostgreSQL.
Migrasi data penuh dan inkremental dari database PostgreSQL atau PPAS (versi 9.4 atau lebih baru) ke database PostgreSQL atau PPAS lainnya.
Konfigurasi parameter
Modifikasi file postgresql.conf dan konfigurasikan informasi koneksi untuk database sumber dan tujuan.
Informasi koneksi database sumber:
PentingDisarankan untuk mengatur parameter pengguna sebagai pemilik database PostgreSQL sumber dalam informasi koneksi database.
[src.pgsql] connect_string = "host=192.168.1.1 dbname=test port=3432 user=test password=pgsql"Informasi koneksi database sementara lokal:
[local.pgsql] connect_string = "host=192.168.1.2 dbname=test port=3432 user=test2 password=pgsql"Informasi koneksi database tujuan:
PentingAnda harus memiliki izin menulis pada tabel tujuan di database tujuan.
[desc.pgsql] connect_string = "host=192.168.1.3 dbname=test port=3432 user=test3 password=pgsql"
Untuk menyinkronkan data inkremental, Anda harus memiliki izin untuk membuat slot replikasi di database sumber.
PostgreSQL versi 9.4 dan yang lebih baru mendukung fitur replikasi aliran logis. Untuk mengaktifkan fitur ini, konfigurasikan parameter berikut:
wal_level = logical max_wal_senders = 6 max_replication_slots = 6
Penggunaan pgsql2pgsql
Migrasi database penuh
Jalankan perintah berikut untuk melakukan migrasi database penuh:
./pgsql2pgsqlSecara default, program migrasi akan memigrasikan data tabel dari semua pengguna di database PostgreSQL sumber ke database PostgreSQL tujuan.
Permintaan status
Anda dapat terhubung ke database sementara lokal untuk memeriksa status pekerjaan migrasi. Informasi status disimpan dalam tabel db_sync_status dan mencakup waktu mulai dan akhir migrasi data penuh, waktu mulai migrasi data inkremental, serta status sinkronisasi data inkremental.