답변:
우분투 에 있고 패키지 에서 제공하고 표준 데비안 패키지와 함께 제공되는 Martin Pitt가 pg_wrapper
설치되어 있습니다 (에서 판단 pg_ctlcluster
) postgresql-common
. 데비안에서도 동일하게 사용 합니다 .
Linux 시스템 which
에서 쉘에서 실행 하여 실제로 선택된 실행 파일을 확인하십시오.
postgres@db:~$ which pg_dump
/usr/bin/pg_dump
postgres@db:~$ ls -l /usr/bin/pg_dump
lrwxrwxrwx 1 root root 37 4. Jun 18:57 /usr/bin/pg_dump -> ../share/postgresql-common/pg_wrapper
pg_dump
는 실제로 심볼릭 링크로 pg_wrapper
, 실행하는 db 클러스터에 적합한 클라이언트 프로그램 버전을 동적으로 선택합니다 pg_dump
. 나는 맨 페이지를 인용한다 pg_wrapper
:
이 프로그램은 / usr / lib / postgresql / version / bin의 PostgreSQL 프로그램에 해당하는 이름에 대한 링크로만 실행됩니다. 사용자에 대해 구성된 클러스터 및 데이터베이스를 결정하고 해당 명령에 지정된 옵션을 제공하여 해당 버전의 원하는 프로그램을 호출하여 해당 클러스터 및 데이터베이스에 연결합니다.
The target cluster is selected by the following means, in descending order of precedence: 1. explicit specification with the --cluster option 2. explicit specification with the PGCLUSTER environment variable 3. matching entry in ~/.postgresqlrc (see postgresqlrc(5)), if that file exists 4. matching entry in /etc/postgresql-common/user_clusters (see user_clusters(5)), if that file exists 5. If only one local cluster exists, that one will be selected. 6. If several local clusters exist, the one listening on the default port 5432 will be selected. If none of these rules match, pg_wrapper aborts with an error.
설치를 망쳐 놓지 않는 한 올바른 버전을 자동으로 선택해야합니다. 옵션 --cluster
을 항상 구체적으로 추가 할 수 있습니다 .
--cluster
명령 행 옵션 이 없습니다 .