이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

55장.포스트그레스토토 결과

참고:기고자:마시모 달 조토

포스트그레다음을 사용합니다 포스트마스터와 백엔드 간의 통신을 위한 토토 결과:

표 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