当尝试将 wal-g 与 Patroni 一起使用时,我将以下配置作为 patroni.yml 的 Postgres 部分:
postgresql:
use_pg_rewind: true
use_slots: true
parameters:
wal_level: logical
hot_standby: "on"
wal_keep_segments: 8
max_wal_senders: 8
max_replication_slots: 8
checkpoint_timeout: 30
archive_mode: "on"
archive_command: PGUSER=dba PGPASSWORD=xx WALG_FILE_PREFIX=file://localhost/backup-disk/ wal-g wal-push "%p"
recovery_conf:
restore_command: PGUSER=dba PGPASSWORD=xx WALG_FILE_PREFIX=file://localhost/backup-disk/ wal-g wal-fetch "%f" "%p"
但是,如果我尝试使用 创建备份PGHOST=/var/run/postgresql PGUSER=dba PGPASSWORD=xx envdir /data/conf/wal-e.env wal-g backup-push /data/postgresql/current
,它会尝试连接到dba
不存在的数据库:
INFO: Doing full backup.
ERROR: Connect: postgres connection failed: FATAL: database "dba" does not exist (SQLSTATE 3D000)
从 wal-g 文档和搜索中,不清楚为什么不是这种情况,所以为了让事情更容易被发现,我在问这个问题。