참고 :기여Massimo Dal Zotto
Postgres다음을 사용합니다 우체국 장과 백엔드 간의 의사 소통 토토 결과 :
표 55-1.Postgres토토 결과
토토 결과 | PostmasterAction | 서버 조치 |
---|---|---|
Sighup | kill (*, sighup) | read_pg_options |
Sigint | 다이 | 쿼리 취소 |
Sigquit | kill (*, sigterm) | handle_warn |
sigterm | kill (*, sigterm), kill (*, 9), 주사위 | 다이 |
SIGPIPE | 무시 | 다이 |
sigusr1 | kill (*, sigusr1), 다이 | Quickdie |
Sigusr2 | kill (*, sigusr2) | Async Notify (Si Flush) |
Sigchld | Reaper | 무시 (Alive Test) |
Sigttin | 무시 | |
Sigttou | 무시 | |
Sigcont | dumpstatus | |
Sigfpe | FloatexceptionHandler |
참고 :“kill (*, signal)”은 토토 결과를 모두에게 보내는 것을 의미합니다 백엔드.
이전 토토 결과 처리의 주요 변경 사항은 사용입니다. Sigquit Sighup 대신 경고를 처리하는 대신 Sighup을 다시 읽으십시오. pg_options 파일 및 모든 활성 백엔드에 대한 리디렉션 Sighup, Sigterm, SigusR1 및 SigusR2가 우체국 장에게 보냈습니다. ~ 안에 이런 식으로 우체국 장에게 전송 된이 토토 결과는 보낼 수 있습니다. PID를 알 필요없이 모든 백엔드에 자동으로. Postgres를 종료하려면 우체국 장과 모든 백엔드가 자동으로 멈출 것입니다.
SIGUSR2 토토 결과는 SI 캐시 테이블을 방지하는 데 사용됩니다. 일부 백엔드가 SI 캐시를 처리하지 않을 때 발생하는 오버플로 오랫동안. 백엔드가 SI 테이블을 70%로 감지하면 그것은 단순히 우체국 장에게 토토 결과를 보냅니다. 유휴 계단을 뒷받침하고 캐시를 플러시하게 만듭니다.
프로그래머에 의한 토토 결과의 일반적인 사용은 수행원:
# Postgres 중지 킬 -term $ postmaster_pid
# 모든 백엔드를 처치하십시오 킬 -quit $ postmaster_pid
# 우체국 장만 킬 kill -int $ postmaster_pid
# pg_options 변경 CAT NEW_PG_OPTIONS $ DATA_DIR/PG_OPTIONS 킬 -hup $ postmaster_pid
# 백엔드에 대해서만 pg_options를 변경합니다 CAT NEW_PG_OPTIONS $ DATA_DIR/PG_OPTIONS kill -hup $ backend_pid cat old_pg_options $ data_dir/pg_options