我正在设置Postgres二进制复制。
在我奴隶的recovery.conf中,我被建议有两种选择。
我想知道restore_command和archive_cleanup_commands中指定的目录是指主目录路径还是从目录路径?
restore_command = 'cp -f /home/postgres/data/wals/%f %p </dev/null'
archive_cleanup_command = '/usr/pgsql-9.2/bin/pg_archivecleanup /home/postgres/data/wals/ %r'例如,在restore_command中,is /home/postgres/data/wals指的是主目录中的路径?archive_cleanup_command也是这样吗?
我之所以问这个问题,是因为这两个服务器之间的路径不相似。
发布于 2014-02-09 03:43:54
我假设您意识到这两个服务器都需要访问WAL存档--因此,如果您使用的是'cp‘之类的命令,那么您必须使用NFS或其他类似的技术来实现它。
从服务器上的recovery.conf内容引用从服务器上的进程,因此您应该使用的路径是从服务器上看到的WAL归档dir的路径。
主服务器上的archive_command中在postgresql.conf中指定的路径引用了在主服务器上看到的WAL归档dir。
我建议您尽可能地对齐机器,使路径相同(您可以通过符号链接或更改挂载点)。当您使用pg_basebackup创建您的从服务器时,它会在主服务器的完整内容(包括配置文件)之间进行复制,因此,如果这两台机器上的路径相同,那么使用起来就更容易了。
https://dba.stackexchange.com/questions/58528
复制相似问题