2014-09-22 13 views
4

설정 한 PostgreSQL 9.4 클러스터의 장애 조치를 테스트하는 동안이 오류가 발생했습니다. 여기에 내가 노예를 촉진 노력하고있어 새로운 마스터로 : 사실PostgreSQL 데이터에서`pg_logical` 디렉토리의 목적은 무엇입니까?

$ repmgr -f /etc/repmgr/repmgr.conf --verbose standby promote 

2014-09-22 10:46:37 UTC LOG: database system shutdown was interrupted; last known up at 2014-09-22 10:44:02 UTC 
2014-09-22 10:46:37 UTC LOG: database system was not properly shut down; automatic recovery in progress 
2014-09-22 10:46:37 UTC LOG: redo starts at 0/18000028 
2014-09-22 10:46:37 UTC LOG: consistent recovery state reached at 0/19000600 
2014-09-22 10:46:37 UTC LOG: record with zero length at 0/1A000090 
2014-09-22 10:46:37 UTC LOG: redo done at 0/1A000028 
2014-09-22 10:46:37 UTC LOG: last completed transaction was at log time 2014-09-22 10:36:22.679806+00 
2014-09-22 10:46:37 UTC FATAL: could not open directory "pg_logical/snapshots": No such file or directory 
2014-09-22 10:46:37 UTC LOG: startup process (PID 2595) exited with exit code 1 
2014-09-22 10:46:37 UTC LOG: aborting startup due to startup process failure 

pg_logical/snapshots 디렉토리가 마스터 노드에 존재하며 비어 있습니다.

UPD : 저는 수동으로 빈 디렉토리 pg_logical/snapshotspg_logical/mappings을 수동으로 만들고 서버가 불평하지 않고 시작했습니다. repmgr standby clone 동기화하는 동안이 dirs을 생략하는 것으로 보입니다. 그러나이 디렉토리가 무엇인지에 대해 궁금해하기 때문에 질문이 여전히 남아 있습니다. 어쩌면 설정에 뭔가 빠져있을 수도 있습니다. 단순히 인터넷으로 검색해도 의미있는 결과가 산출되지 않았습니다.

+0

'repmgr'버전이 무엇입니까? –

+0

@CraigRinger'repmgr --version'은'repmgr 2.0 (PostgreSQL 9.3.5)'을 제공합니다. apt-get을 사용하여 설치했습니다. 패키지 버전은 trusty-pgdg/main amd64에서 2.0-3.pgdg14.04 + 1입니다. – vlprans

+1

업데이트 된 답변에 따르면 repmgr 버그입니다. –

답변

3

여기는 new logical changeset extraction/logical replication feature in 9.4입니다.

이것은 발생하지 않아야합니다 ... 어딘가에서 중요한 버그를 암시합니다. 아마도 repmgr입니다. 나는 세부 사항을 기다릴 것이다 (repmgr 버전 등).

업데이트 : 확인 됨, it's a repmgr bug. 그것은 git master에서 이미 수정되었고 (이 보고서 이전이었습니다) 다음 릴리스에 나옵니다. 이 문제의 중요성을 고려할 때 곧 더 나았을 것입니다.