데이터베이스 서버를 사설 토토하는 몇 가지 방법이 있습니다. 후드 아래에서, 그들은 모두 감독자에게 신호를 보내는 것을 줄입니다Postgres
프로세스.
사전 포장 된 버전의를 사용하는 경우postgresql및 서버를 시작하는 데 조항을 사용한 다음 서버를 중지하기 위해 해당 조항을 사용해야합니다. 자세한 내용은 패키지 수준 문서를 참조하십시오.
서버를 직접 관리 할 때에 다른 신호를 전송하여 사설 토토 유형을 제어 할 수 있습니다.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.94) 또는 a 보내기Sigterm세션과 관련된 아동 프로세스에 대한 신호.
문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면