데이터베이스 서버를 무지개 토토하는 방법에는 여러 가지가 있습니다. 마스터에게 다른 신호를 보내어 셧다운 유형을 제어합니다Postgres
프로세스.
이것이스마트 셧다운모드. 받은 후sigterm, 서버는 새로운 연결을 방해하지만 기존 세션이 정상적으로 작업을 끝내도록합니다. 모든 세션이 무지개 토토 된 후에 만 무지개 토토됩니다. 서버가 온라인 백업 모드에 있으면 온라인 백업 모드가 더 이상 활성화되지 않을 때까지 기다립니다. 백업 모드는 활성화되어 있지만 새 연결은 여전히 허용되지만 슈퍼 사용자에게만 허용됩니다 (이 예외를 사용하면 슈퍼 사용자가 온라인 백업 모드를 무지개 토토하도록 연결할 수 있습니다). 스마트 무지개 토토가 요청되면 서버가 복구중인 경우 모든 정규 세션이 무지개 토토 된 후에 만 복구 및 스트리밍 복제가 중지됩니다.
이것이빠른 셧다운모드. 서버는 새로운 연결을 무시하고 모든 기존 서버 프로세스를 보냅니다Sigterm, 이로 인해 현재 거래를 중단하고 즉시 무지개 토토 할 수 있습니다. 그런 다음 모든 서버 프로세스가 무지개 토토 될 때까지 기다렸다가 마지막으로 무지개 토토됩니다. 서버가 온라인 백업 모드에 있으면 백업 모드가 무지개 토토되어 백업이 쓸모가 없습니다.
이것이즉시 무지개 토토모드. 서버가 전송됩니다Sigquit모든 아동 과정을 위해 무지개 토토 될 때까지 기다립니다. 5 초 이내에 무지개 토토되지 않으면 전송됩니다Sigkill. 마스터 서버 프로세스는 정상적인 데이터베이스 무지개 토토 처리를 수행하지 않고 모든 하위 프로세스가 무지개 토토 되 자마자 무지개 토토됩니다. 이렇게하면 다음 시작시 회복 (WAL 로그를 재생하여)으로 이어질 것입니다. 이것은 비상 사태에서만 권장됩니다.
thePG_CTL프로그램은 서버를 무지개 토토하기 위해 이러한 신호를 보내는 편리한 인터페이스를 제공합니다. 또는를 사용하여 직접 신호를 보낼 수 있습니다.킬
비 창 시스템에서. 그만큼PID의Postgres
프로세스는를 사용하여 찾을 수 있습니다.PS
프로그램 또는 파일에서postmaster.pid
데이터 디렉토리에서. 예를 들어 빠른 무지개 토토를하려면 :
$kill -int`head -1/usr/local/pgsql/data/postmaster.pid`
사용하지 않는 것이 가장 좋습니다Sigkill서버를 무지개 토토하려면. 그렇게하면 서버가 공유 메모리와 세마포어를 공개하지 못하게됩니다. 뿐만 아니라,Sigkill죽인Postgres
신호를 하위 프로세스로 전달하지 않고 프로세스하므로 개별 하위 프로세스를 손으로 죽일 필요가있을 수 있습니다..
다른 세션이 계속되면서 개별 세션을 무지개 토토하려면pg_terminate_backend ()
(참조표 9.83) 또는 a 보내기Sigterm세션과 관련된 아동 프로세스에 대한 신호.