[英]Error from postgresql 9.0 archiving while configuring hot streaming replication
我试图在postgresql 9.0上运行流复制。 我按照链接中提到的步骤进行操作: http : //brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/
当我尝试在postgresql上执行归档命令时,我收到警告,要求我无休止地等待。 我按以下顺序执行命令:
SELECT pg_start_backup('base_backup');
cd /var/lib/postgresql/9.0/
sudo tar -cjf ~/postgres-data.tar.bz2 main
SELECT pg_stop_backup();
为此,我得到以下输出:
NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed)
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments.
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (120 seconds elapsed)
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments.
这继续保持下去,警告永远不会结束。 如果有人遇到这个问题,请告诉我。
您能否查看WAL存档文件所在文件夹的权限。 这可能是拥有数据库的用户对该文件夹没有写入权限的问题,这就是为什么它无法在该文件夹中写入WAL文件的原因。 请使用chmod并更改该文件夹的权限。 这可能会解决问题。
问候。
您已按照指定的链接中所述设置了archive_command
? 它实际上是否正确地将xlog文件复制到安全位置? 服务器的输出表明它不是,而且积压正在pg_xlog
我似乎记得你实际上并不需要在服务器上启用存档以将其用作副本中的主服务器。 你需要有wal_level
设置为hot_standby
。 有了这个设置,您的副本就可以连接到主服务器以独立于传统的xlog存档过程流式传输xlog记录。 所以尝试设置archive_mode=off
。
编辑:更详细地阅读链接,您需要设置archive_mode来创建基本备份,这是有道理的。 因此,要么修复存档命令,以便正确执行基本备份,要么在服务器停止时进行基本备份。
如果您只是想在第9页中使用新的SR,请不要使用归档。 起初我也遇到了问题。 我写了一个没有归档的准系统设置教程,它将一个主人复制到一个奴隶: http : //eggie5.com/15-setting-up-pg9-streaming-replication
另外,请检查您是否没有archive_command
尝试复制的现有wal文件,这会阻止它编写wal文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.