PostgreSQL menyokong pelbagai penyelesaian replikasi tuan-hamba, yang boleh digunakan untuk sandaran data, pemulihan kerosakan dan pengimbangan beban. Berikut ialah skema replikasi tuan-hamba biasa Anda boleh memilih kaedah yang sesuai mengikut keperluan anda.
Konfigurasikan pangkalan data utama:
Edit fail konfigurasi postgresql.conf pangkalan data utama dan dayakan fungsi replikasi. Tetapkan parameter berikut:
wal_level = replicamax_wal_senders = 10
Edit fail pg_hba.conf untuk membenarkan pelayan hamba menyambung ke pelayan induk. Tambah baris berikut:
host replication <从服务器IP地址> trust
Buat daripada pangkalan data:
Dalam fail konfigurasi postgresql.conf pangkalan data hamba, dayakan fungsi replikasi. Tetapkan parameter berikut:
wal_level = replica
Dalam fail pg_hba.conf pangkalan data hamba, tambahkan baris berikut untuk membenarkan sambungan daripada hamba kepada hamba:
host replication <主服务器IP地址> trust
Konfigurasikan replikasi tuan-hamba:
Pada pelayan pangkalan data utama, cipta peranan pengguna untuk replikasi. Jalankan arahan berikut dalam terminal psql:
CREATE ROLE replicator REPLICATION LOGIN CONNECTION LIMIT 10 ENCRYPTED PASSWORD 'password';
Ganti 'kata laluan' dengan kata laluan sebenar anda.
Pada pelayan pangkalan data utama, buat slot replikasi. Jalankan arahan berikut dalam terminal psql:
SELECT * FROM pg_create_physical_replication_slot('replication_slot_name');
Nota untuk menggantikan 'replication_slot_name' dengan nama slot replikasi sebenar.
Pada pelayan pangkalan data utama, ubah suai fail pg_hba.conf untuk membenarkan sambungan bagi peranan pengguna yang direplikasi. Tambah baris berikut:
host replication replicator <从服务器IP地址> trust
Mulakan replikasi tuan-hamba:
Pada pelayan pangkalan data hamba, gunakan arahan berikut untuk menyambung ke pangkalan data induk dan mulakan replikasi:
pg_basebackup -h <主服务器IP地址> -U replicator -p 5432 -D /path/to/data_directory -P -R -X stream -c fast
Nota untuk menggantikan '
Dalam fail konfigurasi postgresql.conf pangkalan data hamba, tetapkan parameter berikut:
primary_conninfo = 'host=<主服务器IP地址> port=5432 user=replicator password=password'primary_slot_name = 'replication_slot_name'
Nota untuk menggantikan '
Selepas melengkapkan langkah di atas, replikasi tuan-hamba akan bermula
Lari. Perubahan data pada pangkalan data induk akan direplikasi secara automatik ke pangkalan data hamba, dan pangkalan data hamba akan mengekalkan konsistensi dengan pangkalan data induk. Anda boleh menggunakan alat pemantauan untuk memantau status replikasi tuan-hamba bagi memastikan ia berfungsi dengan baik.
Sila ambil perhatian bahawa perkara di atas hanyalah gambaran keseluruhan penyelesaian replikasi tuan-hamba, dan pelaksanaan sebenar mungkin perlu dilaraskan mengikut persekitaran dan keperluan tertentu. Adalah disyorkan untuk merujuk kepada dokumentasi rasmi PostgreSQL dan sumber lain yang boleh dipercayai untuk panduan dan arahan yang lebih terperinci.
Atas ialah kandungan terperinci Penyelesaian replikasi induk-hamba PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!