Anda berada di Ubuntu dan jelas telah pg_wrapper
menginstal Martin Pitt (dilihat dari pg_ctlcluster
) yang disediakan oleh paket postgresql-common
dan dilengkapi dengan paket-paket standar Debian. Saya menggunakan hal yang sama pada Debian .
Pada sistem Linux, jalankan which
di shell untuk melihat executable mana yang sebenarnya dipilih:
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
sebenarnya adalah symlink ke pg_wrapper
, yang secara dinamis memilih versi yang sesuai dari program klien untuk db cluster yang Anda jalankan pg_dump
. Saya mengutip halaman manual dari pg_wrapper
:
Program ini dijalankan hanya sebagai tautan ke nama-nama yang sesuai dengan program PostgreSQL di / usr / lib / postgresql / versi / bin. Ini menentukan cluster yang dikonfigurasikan dan database untuk pengguna dan memanggil versi yang sesuai dari program yang diinginkan untuk terhubung ke cluster itu dan database, menyediakan setiap opsi yang ditentukan untuk perintah itu.
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.
TKI, versi yang tepat harus dipilih secara otomatis - kecuali jika Anda mengacaukan instalasi Anda. Anda selalu dapat menambahkan opsi --cluster
untuk lebih spesifik.