pg_basebackup 因“角色“复制”的连接过多而失败”

pic*_*rdo 2 postgresql backup pg-basebackup

我正在尝试设置备用服务器并不断收到此错误。我的主服务器有足够多的连接来处理负载:

listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 10
max_connections=100
checkpoint_segments = 8
wal_keep_segments = 8
archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/archive/%f'
Run Code Online (Sandbox Code Playgroud)

这是在备用服务器上失败的命令:

pg_basebackup -h ${MASTER_PORT_5432_TCP_ADDR} -D ${PGDATA} -U ${REP_USER} -vPw --xlog-method=stream
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生这种情况。

Dan*_*ité 8

根据评论,为该角色pg_roles.rolconnlimit设置1为,因此需要增加一点以允许多个同时连接。

选择一个更合理的值,比如5(或-1无限)并以超级用户身份发出:

ALTER ROLE replication CONNECTION LIMIT 5;
Run Code Online (Sandbox Code Playgroud)

...或与其他数据库用户连接以获取pg_basebackup.