6

postgresql 9.0에서 스트리밍 복제를 실행하려고합니다. 나는 링크에서 언급 한 단계를 따르고 있습니다 : http://brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/핫 스트리밍 복제를 구성하는 동안 postgresql 9.0에서 오류가 발생했습니다.

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. 

이 더 계속 유지하고 경고가 끝나지 않아. 누군가이 문제에 직면했는지 알려주십시오.

답변

1

지정한 링크에 설명 된대로 archive_command을 설정 했습니까? 실제로 xlog 파일을 안전한 위치에 올바르게 복사합니까? 서버의 출력은 그렇지 않다는 것을 의미하며 백 로그가 내부에 생성되고 있음을 나타냅니다. pg_xlog

복제본에서 마스터로 사용할 수있는 보관 기능이 실제로 서버에 필요하지 않습니다. . 을 수행하려면wal_levelhot_standby으로 설정해야합니다. 이 설정을 사용하면 복제본을 마스터에 연결하여 기존의 xlog 아카이브 프로세스와 독립적으로 xlog 레코드를 스트리밍 할 수 있습니다. 따라서 archive_mode=off으로 설정하십시오.

편집 : 링크를 자세히 읽으려면 archive_mode를 설정하여 기본 백업을 생성해야합니다. 따라서 기본 백업을 올바르게 수행 할 수 있도록 아카이브 명령을 수정하거나 서버가 정지 된 상태에서 기본 백업을 수행하십시오.

1

9 페이지의 새로운 SR을 사용하려는 경우 보관 처리를 망칠 필요가 없습니다. 처음에는 문제가 발생했습니다. 나는 마스터를 슬레이브에 복제하는 아카이브가없는 베어 본 설치 안내서를 작성했습니다. http://eggie5.com/15-setting-up-pg9-streaming-replication

1

WAL 아카이브 파일이있는 폴더의 사용 권한을 확인하십시오. 이것은 데이터베이스를 소유 한 사용자가 해당 폴더에 WAL 파일을 쓰지 못하는 이유로 해당 폴더에 대한 쓰기 권한을 갖고 있지 않은 문제 일 수 있습니다. chmod를 사용하고 해당 폴더에 대한 사용 권한을 변경하십시오. 이로 인해 문제가 해결 될 수 있습니다.

감사합니다.

관련 문제