PostgreSQL流式复制
我正在尝试在一台计算机上设置两个PostgreSQL服务器并执行流式复制.我成功了一次,但是当我再次尝试按照完全相同的步骤时它不起作用..这些是步骤:
我有$PGDATA = home / postgresql / 9.1 / data 和$STANDBY = home / postgresql / 9.1 / data2 >设置两个节点: initdb -D $PGDATA initdb -D $STANDBY >在主节点中创建用于复制的用户.我在pgAdmin中执行此操作(它具有超级用户权限) 主机复制repuser 127.0.0.1/0 md5 >在postgresql.conf中的主节点中设置: max_wal_senders = 1 archive_mode = on archive_command =’cp%p~ / postgresql / backup / archivedir /%f’ wal_level = archive wal_keep_segments = 32 >启动主节点并执行基本备份: psql -d dellstore2 -c“SELECT pg_start_backup(‘backup for replication’,true)” rsync -av ${PGDATA} / $STANDBY –exclude postmaster.pid psql -d dellstore2 -c“select pg_stop_backup()” pg_stop_backup说一切都很好,所有的WAL文件都归档了 >在standby(data2)节点中,我使用以下命令创建recovery.conf: standby_mode =’on’ primary_conninfo =’host = 127.0.0.1 port = 5432 user = repuser password = haslo’ trigger_file =’/ home /michau / postgresql / replication.trigger’ restore_command =’cp / home / michau / postgresql / backup / archivedir /%f“%p”’ >启动主节点,然后启动备用节点 – 复制应该启动,备用应该赶上主节点.这正是第一次发生的事情. 日志:数据库系统在2012-06-12 19:48:01 CEST恢复关闭 日志:进入待机模式 cp:不能stat / home / michau / postgresql / backup / archivedir / 000000010000000000000007:没有这样的文件或目录 日志:在0/7000070达到一致的恢复状态 日志:记录零长度为0/7000070 cp:不能stat / home / michau / postgresql / backup / archivedir / 000000010000000000000007:没有这样的文件或目录 日志:流式复制成功连接到主要 日志:重做从0/7000070开始 它只是挂在这里.运行ps -ef | grep postgresql产量: michau 2491 1898 0 19:46 pts / 0 00:00:00 postgres -D /home/michau/postgresql/9.1/data michau 2493 2491 0 19:46? 00:00:01 postgres:作家流程 michau 2494 2491 0 19:46? 00:00:00 postgres:沃尔玛作家流程 michau 2495 2491 0 19:46? 00:00:00 postgres:autovacuum启动程序进程 michau 2496 2491 0 19:46? 00:00:00 postgres:归档进程最后是000000010000000000000008 michau 2497 2491 0 19:46? 00:00:00 postgres:stats收集器进程 michau 2571 2214 0 19:49 pts / 1 00:00:00 postgres -D /home/michau/postgresql/9.1/data2 michau 2572 2571 0 19:49? 00:00:01 postgres:启动过程恢复000000010000000000000009 michau 2575 2571 0 19:49? 00:00:01 postgres:作家流程 michau 2578 2571 0 19:49? 00:00:02 postgres:沃尔接收器进程流0 / 99782DC michau 2579 2491 0 19:49? 00:00:00 postgres:wal sender process repuser 127.0.0.1(42142)streaming 0 / 99782DC michau 2586 2491 0 19:51? 00:00:00 postgres:michau postgres :: 1(49941)闲置 michau 2587 2491 0 19:51? 00:00:01 postgres:michau dellstore2 :: 1(49942)闲置 恢复0000000010000009在哪里改变了一段时间,但是半小时它就不再了. 我确信我第一次必须做的事情并没有写下来或其他什么,但我完全不知道它是什么.我将不胜感激任何帮助. 解决方法
我完成了您在上面发布的步骤,并在发布时收到了确切的错误,但我能够解决问题.
我尝试将您的步骤与此站点中发布的步骤合并 除了您发布的步骤之外,我还从我提供的网站添加了2个步骤.这两个步骤如下: >在从主服务器rsync之前删除备用服务器中的所有文件和文件夹.>在master的postgresql.conf中,将wal_level设置为hot_standby而不是archive,并将hot_standby设置为on. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |