pg_isready

pg_isready — PostgreSQL 서버 상태 검사

요약

pg_isready [연결옵션...] [옵션...]

설명

pg_isready 명령은 PostgreSQL 서버로 접속이 가능한지 검사하는 일을 한다. 이 검사 결과는 출력 메시지와 명령 마침 반환값으로 확인할 수 있다.

옵션

-d 디비이름
--dbname=디비이름

접속할 데이터베이스 이름. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-h 호스트이름
--host=호스트이름

접속한 서버의 호스트 이름이나, 호스트 IP 주소 또는 슬래시 문자로 시작하는 유닉스 도메인 소켓이 있는 디렉토리 이름.

-p 포트
--port=포트

접속할 포트 번호를 지정한다. 이 옵션이 없으면, 먼저 PGPORT 환경 변수 값을 사용하며, 이 값도 없으면, 기본값인 5432 포트로 접속한다.

-q
--quiet

아무런 메시지를 보여주지 않는다. 스크립트를 만들 때 유용하게 쓰인다.

-t
--timeout=

접속 시도 초단위 최대 시간. 지정한 시간안에 접속이 안되면, 접속 실패로 간주한다. 이 값이 0이면, 영원히 시도하며, 기본값은 3초다.

-U 사용자이름
--username=사용자이름

기본값 대신 해당 서버로 접속할 사용자이름.

-V
--version

pg_isready 버전을 보여주고 마침.

-?
--help

pg_isready 명령에서 사용할 수 있는 명령행 옵션 도움말을 보여주고 마침.

마침 반환값

0: 정상 접속, 1: 서버가 접속을 거부함(서버가 시작중인 경우가 대표적인 경우), 2: 서버가 응답이 없음, 3: 연결 시도 자체를 못한 경우(잘못된 옵션이나 옵션값을 사용한 경우가 대표적이다).

환경 변수

여러 libpq 라이브러리를 사용하는 응용 프로그램과 마찮가지로 pg_isready 명령도 그 환경 변수 그대로를 사용한다(33.14절 참조).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

참고

--dbname, --username 옵션은 로그 파일에 불필요한 오류 메시지를 남기지 않기 위해 사용할 수는 있지만, 반드시 사용해야할 옵션은 아니다.

예제

표준 사용법:

$ pg_isready
/tmp:5432 - accepting connections
$ echo $?
0

PostgreSQL 서버 상태 검사를 연결 옵션을 사용했는데, 접속이 거절된 경우:

$ pg_isready -h localhost -p 5433
localhost:5433 - rejecting connections
$ echo $?
1

PostgreSQL 서버가 응답이 없는 경우:

$ pg_isready -h someremotehost
someremotehost:5432 - no response
$ echo $?
2