2016-09-02 4 views
0

포스트그레스 데이터베이스에 대한 임시 분석을 위해 많은 쿼리를 실행합니다. 여러 번마다 나는 각 쿼리 후에 끝나는 대신 하루를 통해 연결을 열어 둘 것입니다.연결을 종료하지 않고 포스트그레스 복구

5 분마다 쉘 스크립트를 통해 scp를 통해 postgres 덤프를 수신하고 연결을 끊지 않고 데이터베이스를 복원하려고합니다. 이것이 가능한가?

답변

1

사용자가 연결되어있을 때 수행 할 수없는 몇 가지 활동 중 하나가 데이터베이스를 삭제하는 것입니다.
– 복원 중에 복원하려는 경우 수행하려는 경우 – 접근 방식을 변경해야합니다. 데이터베이스를 삭제하지 마십시오 (pg_dump 또는 pg_restore-C 옵션 사용 안 함). 스키마 (예 : 큰 개체)에 의존하지 않는 스키마와 개체는 삭제하고 다시 작성하십시오.
pg_dump 또는 pg_restore-c 플래그를 사용할 수 있습니다.

다른 문제는 열려있는 트랜잭션 (유휴 상태 인 트랜잭션 ”)과의 연결입니다. 이러한 연결은 오브젝트를 삭제하고 다시 생성하지 못하도록 잠금을 유지할 수 있으며이를 제거하려면 pg_terminate_backend()을 사용해야합니다.

관련 문제