web-dev-qa-db-ja.com

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'

これは、スタンバイサーバーで失敗するコマンドです。

pg_basebackup -h ${MASTER_PORT_5432_TCP_ADDR} -D ${PGDATA} -U ${REP_USER} -vPw --xlog-method=stream

なぜこれが起こるのか分かりません。

2
picardo

コメントごとに、その役割のpg_roles.rolconnlimit1に設定されているため、複数の同時接続を可能にするために少し増やす必要があります。

より適切な値を選択し、5(無制限の場合は-1)と言って、スーパーユーザーとして発行します。

ALTER ROLE replication CONNECTION LIMIT 5;

...またはpg_basebackupの別のデータベースユーザーに接続します。

8
Daniel Vérité