Ви перебуваєте на Ubuntu і, очевидно, встановлено Мартіна Пітта pg_wrapper
(судячи з pg_ctlcluster
), який надається пакетом postgresql-common
і постачається зі стандартними пакетами Debian. Я використовую те ж саме на Debian .
У системі 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
:
Ця програма запускається лише як посилання на імена, які відповідають програмам PostgreSQL в / usr / lib / postgresql / version / bin. Він визначає налаштований кластер та базу даних для користувача та викликає відповідну версію потрібної програми для підключення до цього кластеру та бази даних, надаючи будь-які визначені параметри для цієї команди.
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, правильну версію слід вибирати автоматично - якщо ви якось не накрутили установку. Ви завжди можете додати варіант, --cluster
щоб бути конкретним.