【发布时间】:2023-02-06 15:59:35
【问题描述】:
我有 2 个数据库服务器:10.1.1.49 - master 和 10.1.1.68 - slave。第一个是 prod,第二个分别是 dev server。我需要将数据从生产服务器复制到开发服务器,我还需要能够将一些数据写入开发服务器。
当我将这些服务器配置为主从复制成功时。但是当我在开发服务器 10.1.1.49 中关闭只读选项并启用读写选项时,复制不再起作用。你能帮忙解决这个问题吗?我的配置如下。
在主 10.1.1.49 (prod) 服务器中:
- pg_hba.conf:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 10.1.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
host replication postgres 10.1.1.68/24 md5
- postgresql.conf:
listen_addresses = '*'
wal_level = hot_standby
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 8
hot_standby = on
在从属 10.1.1.68 服务器 (dev)
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 10.1.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
host replication postgres 10.1.1.49/24 md5
- postgresql.conf:
listen_addresses = '*'
wal_level = hot_standby
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 8
hot_standby = on
将数据从主服务器复制到从服务器时执行的命令: 在从服务器中:
rm -rf data; mkdir data; chmod go-rwx data
pg_basebackup -P -R -X stream -c fast -h 10.1.1.49 -U postgres -D ./data
【问题讨论】:
标签: postgresql replication postgresql-13