Você está no Ubuntu e obviamente possui o Martin Pitt pg_wrapper
instalado (a julgar por pg_ctlcluster
) que é fornecido pelo pacote postgresql-common
e vem com os pacotes padrão do Debian. Eu uso o mesmo no Debian .
Em um sistema Linux, execute which
no shell para ver qual executável é realmente escolhido:
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
é na verdade um link simbólico para pg_wrapper
, que escolhe dinamicamente a versão apropriada do programa cliente para o cluster db com o qual você executa pg_dump
. Cito a página de manual de pg_wrapper
:
Este programa é executado apenas como um link para nomes que correspondem aos programas do PostgreSQL em / usr / lib / postgresql / version / bin. Ele determina o cluster e o banco de dados configurados para o usuário e chama a versão apropriada do programa desejado para conectar-se a esse cluster e banco de dados, fornecendo as opções especificadas para esse comando.
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.
IOW, a versão correta deve ser escolhida automaticamente, a menos que você estrague sua instalação de alguma forma. Você sempre pode adicionar a opção --cluster
para ser específico.