![如何将 postgresql.conf 存储在数据目录之外?](https://linux22.com/image/712166/%E5%A6%82%E4%BD%95%E5%B0%86%20postgresql.conf%20%E5%AD%98%E5%82%A8%E5%9C%A8%E6%95%B0%E6%8D%AE%E7%9B%AE%E5%BD%95%E4%B9%8B%E5%A4%96%EF%BC%9F.png)
我用过这些步骤在 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 单元来配置具有自定义名称和/或配置的集群。