Tôi đang cố gắng thiết lập sao chép đồng bộ với Postgres 9.1, nhưng tôi không thể làm cho nó hoạt động. Tôi đã có thể định cấu hình sao chép luồng nhưng không đồng bộ hóa. Tôi hy vọng tôi đã không bỏ lỡ bất cứ điều gì rõ ràng. Tôi đã đọc cẩn thận nhiều phần của ch 17, 18, 14, 25, 26 và 29 trong hướng dẫn quản trị.Cách thiết lập sao chép luồng đồng bộ trong postgres?
Tôi đang chạy ubuntu 12.04 và postgresql.conf chủ của tôi có những, trong số tất cả các thiết lập tiêu chuẩn khác:
listen_addresses = '*' # what IP address(es) to listen on;
wal_level = archive # minimal, archive, or hot_standby
archive_mode = on # allows archiving to be done
archive_command = 'test ! -f /data/pgWalArchive/%f && cp %p /data/pgWalArchive/%f'
wal_keep_segments = 100 # in logfile segments, 16MB each; 0 disables ??? What should this be ????
max_wal_senders = 3 # max number of walsender processes
pg_hba.conf tôi có này, ngoài những thứ tiêu chuẩn:
host all all XX.6.35.0/24 md5
host replication postgres XX.6.35.0/24 md5
db chủ của tôi chỉ có một chuỗi, vì vậy nó rất nhỏ. Tôi đã tạo thành công bản sao lưu của bản gốc ở chế độ chính và đã khôi phục bản gốc chính:
sudo -u postgres pg_basebackup -D ~/backup -F tar -x -z -l ~/backup/base1 -v -h XX.6.35.51 -U postgres
Tôi cũng đã sao chép các tệp lưu trữ của WAL vào chế độ chờ. Tệp recovery recovery.conf của tôi có:
restore_command = '/usr/lib/postgresql/9.1/bin/pg_standby /data/pgWalArchive %f %p %r'
archive_cleanup_command = '/usr/lib/postgresql/9.1/bin/pg_archivecleanup /data/pgWalArchive %r'
standby_mode = on
primary_conninfo = 'host=XX.6.35.51 port=5432' # e.g. 'host=masterIpAddressOrName port=5432'
Cả hai máy chủ khởi động không có vấn đề gì và nhật ký có vẻ ổn. Chế độ chờ của tôi có:
2012-06-08 10:23:51 MDT LOG: shutting down
2012-06-08 10:23:51 MDT LOG: database system is shut down
2012-06-08 10:23:53 MDT LOG: database system was shut down in recovery at 2012-06-08 10:23:51 MDT
2012-06-08 10:23:53 MDT LOG: entering standby mode
2012-06-08 10:23:53 MDT LOG: consistent recovery state reached at 0/1D000078
2012-06-08 10:23:53 MDT LOG: record with zero length at 0/1D000078
2012-06-08 10:23:53 MDT LOG: streaming replication successfully connected to primary
2012-06-08 10:23:53 MDT LOG: incomplete startup packet
2012-06-08 10:23:54 MDT FATAL: the database system is starting up
2012-06-08 10:23:54 MDT FATAL: the database system is starting up
2012-06-08 10:23:55 MDT FATAL: the database system is starting up
2012-06-08 10:23:55 MDT FATAL: the database system is starting up
2012-06-08 10:23:56 MDT FATAL: the database system is starting up
2012-06-08 10:23:56 MDT FATAL: the database system is starting up
2012-06-08 10:23:57 MDT FATAL: the database system is starting up
2012-06-08 10:23:57 MDT FATAL: the database system is starting up
2012-06-08 10:23:58 MDT FATAL: the database system is starting up
2012-06-08 10:23:58 MDT FATAL: the database system is starting up
2012-06-08 10:23:59 MDT FATAL: the database system is starting up
2012-06-08 10:23:59 MDT LOG: incomplete startup packet
2012-06-08 10:24:40 MDT LOG: redo starts at 0/1D000078
Vấn đề là khi tôi phát hành báo cáo chống lại chủ, chúng sẽ treo vĩnh viễn. Tui bỏ lỡ điều gì vậy?
vâng, tất nhiên. Tôi đã bỏ lỡ những dòng mà tôi có trong cấu hình. Đối với postgresql.sql, tôi có:. Tôi đã đặt địa chỉ IP cũng như không có may mắn. Ở chế độ chờ, tôi có –