2015-06-05 1 views
1

Я пытаюсь настроить репликацию с двумя узлами BDR, и во время работы bdr_init_copy появляется следующая ошибка.Postgresql Проблема с репликацией BDR

Эти шаги:

mkdir /postgres/pgsql-9.4/data 

/usr/pgsql-9.4/bin/pg_basebackup -h 10.10.145.111 -p 5432 -X stream -U postgres -D /postgres/pgsql-9.4/data 

cp /postgres/pgsql-9.4/data_old/postgresql.conf /postgres/pgsql-9.4/data 
cp /postgres/pgsql-9.4/data_old/pg_hba.conf /postgres/pgsql-9.4/data 
chmod -R 700 /postgres/pgsql-9.4/data 

/usr/pgsql-9.4/bin/bdr_init_copy -d "host=10.10.145.111 dbname=apimgtdb port=5432" -U postgres --local-dbname="host=10.10.145.110 dbname=apimgtdb port=5432" -n nodeawswest -D /postgres/pgsql-9.4/data 

я получаю следующее сообщение об ошибке:

2015-06-05 14:56:55.951 PDT >LOG: entering standby mode 
2015-06-05 14:56:55.951 PDT >LOG: starting up replication identifier with ckpt at 9/F5000060 
2015-06-05 14:56:55.956 PDT >LOG: redo starts at 9/F5000060 
2015-06-05 14:56:55.972 PDT >LOG: consistent recovery state reached at 9/F5000128 
2015-06-05 14:56:55.972 PDT >LOG: database system is ready to accept read only connections 
2015-06-05 14:56:55.977 PDT >LOG: started streaming WAL from primary at 9/F6000000 on timeline 1 
2015-06-05 14:56:56.639 PDT >LOG: recovery stopping at restore point "bdr_6157013497737678047", time 2015-06-05 14:56:57.137408-07 
2015-06-05 14:56:56.640 PDT >LOG: recovery has paused 
2015-06-05 14:56:56.640 PDT >HINT: Execute pg_xlog_replay_resume() to continue. 
2015-06-05 14:56:56.821 PDT >ERROR: cannot execute DELETE in a read-only transaction 
2015-06-05 14:56:56.821 PDT >STATEMENT: DELETE FROM pg_catalog.pg_shseclabel WHERE provider = 'bdr'; 
2015-06-05 14:56:56.837 PDT >LOG: received smart shutdown request 
2015-06-05 14:56:56.838 PDT >FATAL: terminating walreceiver process due to administrator command 
2015-06-05 14:56:56.840 PDT >LOG: shutting down 
2015-06-05 14:56:58.169 PDT >LOG: database system is shut down 

Его не запускается второй узел после этой ошибки.

+0

X -post http://dba.stackexchange.com/q/103376/7788 –

ответ

1

я был в состоянии исправить мое разбитое BDR на одном узле со следующими шагами:

$ mv /var/lib/pgsql-9.4/data /var/lib/pgsql-9.4/data-bkp-94 
$ mkdir /var/lib/pgsql-9.4/data 
$ /usr/pgsql-9.4/bin/pg_basebackup -h 10.10.145.111 -p 5432 -X stream -U postgres -D /var/lib/pgsql-9.4/data 
$ /etc/init.d/postgresq-9.4 restart 

Стадия bdr_init_copy не нужна, как вы уже скопировать данные из узла 2 к узлу 1.