데이터베이스 서버를 윈 토토하는 몇 가지 방법이 있습니다. 후드 아래에서, 그들은 모두 감독자에게 신호를 보내는 것을 줄입니다Postgres
프로세스.
사전 포장 된 버전의를 사용하는 경우PostgreSQL및 서버를 시작하는 데 조항을 사용한 다음 서버를 중지하기 위해 해당 조항을 사용해야합니다. 자세한 내용은 패키지 수준 문서를 참조하십시오.
서버를 직접 관리 할 때에 다른 신호를 전송하여 윈 토토 유형을 제어 할 수 있습니다.Postgres
프로세스 :
이것이스마트 셧다운모드. 받은 후sigterm, 서버는 새로운 연결을 방해하지만 기존 세션이 정상적으로 작업을 끝내도록합니다. 모든 세션이 윈 토토 된 후에 만 윈 토토됩니다.
이것이빠른 셧다운모드. 서버는 새로운 연결을 무시하고 모든 기존 서버 프로세스를 보냅니다sigterm, 이로 인해 현재 거래를 중단하고 즉시 종료 할 수 있습니다. 그런 다음 모든 서버 프로세스가 종료 될 때까지 기다렸다가 마지막으로 종료됩니다.
이것이즉시 셧다운모드. 서버가 전송됩니다Sigquit모든 아동 과정을 위해 윈 토토 될 때까지 기다립니다. 5 초 이내에 윈 토토되지 않으면 전송됩니다Sigkill. 감독자 서버 프로세스는 정상적인 데이터베이스 윈 토토 처리를 수행하지 않고 모든 아동 프로세스가 윈 토토 되 자마자 윈 토토됩니다.
thePG_CTL프로그램은 서버를 윈 토토하기 위해 이러한 신호를 보내는 편리한 인터페이스를 제공합니다. 또는를 사용하여 직접 신호를 보낼 수 있습니다.킬
비 창 시스템에서. 그만큼PID의Postgres
프로세스는를 사용하여 찾을 수 있습니다PS
프로그램 또는 파일에서postmaster.pid
데이터 디렉토리에서. 예를 들어 빠른 윈 토토를하려면 :
$ kill -int`head -1/usr/local/pgsql/data/postmaster.pid`
사용하지 않는 것이 가장 좋습니다Sigkill서버를 윈 토토하려면. 그렇게하면 서버가 공유 메모리와 세마포어를 공개하지 못하게됩니다.Sigkill죽인Postgres
신호를 하위 프로세스로 릴레이하지 않고 프로세스하므로 개별 하위 프로세스를 손으로 죽일 필요가있을 수 있습니다..
다른 세션이 계속되면서 개별 세션을 윈 토토하려면pg_terminate_backend ()
(참조표 9.90) 또는 a 보내기sigterm세션과 관련된 아동 프로세스에 대한 신호.
문서에 올바른 것이 없다면 일치하지 않습니다.이 양식문서 문제를보고하려면