Estás en Ubuntu y obviamente tienes pg_wrapper
instalado Martin Pitt (a juzgar por pg_ctlcluster
) que es proporcionado por el paquete postgresql-common
y viene con los paquetes estándar de Debian. Yo uso lo mismo en Debian .
En un sistema Linux, ejecute which
en el shell para ver qué ejecutable se elige realmente:
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
es en realidad un enlace simbólico a pg_wrapper
, que selecciona dinámicamente la versión adecuada del programa cliente para el clúster db con el que se ejecuta pg_dump
. Cito la página de manual de pg_wrapper
:
Este programa se ejecuta solo como un enlace a nombres que corresponden a programas PostgreSQL en / usr / lib / postgresql / version / bin. Determina el clúster y la base de datos configurados para el usuario y llama a la versión adecuada del programa deseado para conectarse a ese clúster y base de datos, proporcionando las opciones especificadas a ese 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, la versión correcta debe elegirse automáticamente, a menos que haya estropeado su instalación de alguna manera. Siempre puede agregar la opción --cluster
para ser específico.