我用过这些步骤在 Postgresql 9.4 上设置数据库复制。
但是,使用时pg_basebackup
,我的整个数据库目录都会被复制,包括postgresql.conf
文件。但是,该文件对于主服务器和从服务器是不同的,因此在开始复制后,更改将被覆盖。
如何使用自定义数据目录但在postgresql.conf
该目录之外运行 PostgreSQL?
我正在使用 CentOS7。
答案1
使用--write-recovery-conf
来设置备用服务器。
--write-recovery-conf
Write a minimal recovery.conf in the output directory (or into the
base archive file when using tar format) to ease setting up a
standby server. The recovery.conf file will record the connection
settings and, if specified, the replication slot that pg_basebackup
is using, so that the streaming replication will use the same
settings later on.
答案2
如果我理解你的问题正确的话,文档包含有关如何将 postgres conf 文件作为配置参数传递的说明。
您可以在基于 RHEL 的系统上使用 systemd 单元来配置具有自定义名称和/或配置的集群。