참고:기고자:마시모 달 조토
포스트그레다음을 사용합니다 포스트마스터와 백엔드 간의 통신을 위한 토토 결과:
표 55-1.포스트그레토토 결과
| 토토 결과 | 우체국장액션 | 서버 작업 |
|---|---|---|
| SIGHUP | 죽여(*,sighup) | read_pg_options |
| SIGINT | 다이 | 질의 취소 |
| 서명 종료 | kill(*,sigterm) | handle_warn |
| SIGTERM | kill(*,sigterm), kill(*,9), 죽는다 | 죽어라 |
| SIGPIPE | 무시 | 죽다 |
| SIGUSR1 | 죽임(*,sigusr1), 죽다 | 퀵디 |
| SIGUSR2 | 죽이기(*,sigusr2) | 비동기 알림(SI 플러시) |
| SIGCHLD | 사신 | 무시됨(살아있는 테스트) |
| 시그틴 | 무시 | |
| SIGTTOU | 무시 | |
| SIGCONT | 덤프상태 | |
| SIGFPE | FloatExceptionHandler |
참고:"kill(*,signal)"은 모든 사람에게 토토 결과를 보내는 것을 의미합니다. 백엔드.
이전 토토 결과 처리의 주요 변경 사항은 다음을 사용하는 것입니다. 경고를 처리하려면 SIGHUP 대신 SIGQUIT를 사용하고, 경고를 다시 읽으려면 SIGHUP을 사용하세요. pg_options 파일과 모든 활성 백엔드로의 리디렉션 SIGHUP, SIGTERM, SIGUSR1 및 SIGUSR2가 포스트마스터에게 전송되었습니다. 에서 이런 식으로 포스트마스터에게 전송된 토토 결과를 보낼 수 있습니다. PID를 알 필요 없이 모든 백엔드에 자동으로 연결됩니다. postgres를 종료하려면 SIGTERM만 보내면 됩니다. postmaster를 사용하면 모든 백엔드가 자동으로 중지됩니다.
SIGUSR2 토토 결과는 SI 캐시 테이블을 방지하는데도 사용됩니다. 일부 백엔드가 SI 캐시를 처리하지 않을 때 발생하는 오버플로 장기간 동안. 백엔드가 SI 테이블이 70% 가득 찬 것을 감지한 경우 그것은 단순히 우체국장에게 토토 결과를 보내 모든 사람을 깨울 뿐입니다. 백엔드를 유휴 상태로 유지하고 캐시를 플러시하도록 합니다.
프로그래머가 토토 결과를 사용하는 일반적인 방법은 다음과 같습니다. 다음:
# 포스트그레스 중지 kill -TERM $postmaster_pid
# 모든 백엔드를 종료합니다 kill -QUIT $postmaster_pid
# 우체국장만 죽임 kill -INT $postmaster_pid
# pg_options 변경 고양이 new_pg_options $DATA_DIR/pg_options kill -HUP $postmaster_pid
# 백엔드에 대해서만 pg_options 변경 고양이 new_pg_options $DATA_DIR/pg_options kill -HUP $backend_pid 고양이 old_pg_options $DATA_DIR/pg_options