【发布时间】:2020-10-26 21:19:05
【问题描述】:
大家晚上好! 我在 FreeBSD 12.0-RELEASE 上使用 PostgreSQL 12.2,目前有这个问题: Error
背景:
- 我正在尝试根据文档 (https://www.postgresql.org/docs/current/warm-standby.html) 设置流式复制。我设置了一个 NFS 服务器来接收这台辅助机器上的 WAL 存档。
- 我按照说明从备份引导备用服务器。使用 pg_basebackup (https://www.postgresql.org/docs/current/continuous-archiving.html#BACKUP-BASE-BACKUP) 并完成了从备份 (https://www.postgresql.org/docs/current/continuous-archiving.html#BACKUP-PITR-RECOVERY) 启动的所有必要步骤。
- 我的主节点的备份已发送到 NFS 服务器。从备份重新启动时,我将文件从 NFS 服务器复制到 PGDATA 目录。注意到用户是 postgre,但组是 wheel(postgre 不是其中的成员),所以用 chwon 递归地更改了它。
- 它还给了我一个权限错误,因为它允许其他人执行 (o+x)。根据要求将权限更改为 700,现在我遇到此错误,但没有说明原因。
用户 repl 是在主服务器的 pg_hba.conf 中创建的,并具有权限,尽管这与此无关(我认为)。我怀疑这个问题与文件的原始权限有关。我已经研究了很长一段时间,但无法找到并回答。 感谢您的宝贵时间,如果我错过了您需要查看的文件,我们深表歉意。如果需要,我会放在这里。
我的 recovery.conf 文件:
primary_conninfo='host=192.168.1.100 port=5432 user=repl pass=foo'
restore_command='cp /nfs/pg_wal_archive/%f %p'
restore_cleanup='' #I clean the NFS directory manually
【问题讨论】:
-
您已将日志重定向到 syslog:您在 syslog 中有任何消息吗?
-
尝试修改
postgresql.conf登录$PGDATA\log和logging_collector,log_destination,log_directory并重启PostgreSQL(或尝试修复syslog.conf:但在这里我不能帮助特别在 FreeBSD 上)。 -
@pifor 我找不到它。我的 syslog.conf 有条目
local.* /var/log/postgre但它不会生成任何文件。尝试运行 pg_ctl start > logfile 2>&1 生成与我显示的相同的输出。 -
通常
postgresql.conf与recovery.conf在同一目录中。 -
@pifor 谢谢!我已经阅读了文档,但由于某种原因没有考虑检查日志记录部分!让我感到困惑的是,当我尝试启动服务器时实际上显示了一些错误,但事实并非如此,所以我将日志记录更改为 stderror。现在我看到 recovery.conf 不再有效,名称必须是 recovery.signal。
标签: postgresql freebsd postgresql-12