Ubuntu'dasınız ve açıkçası paket tarafından sağlanan ve standart Debian paketleriyle birlikte gelen Martin Pitt'in pg_wrapper
kurulu (yargılama pg_ctlcluster
) var postgresql-common
. Kullandığım Debian aynı .
Bir Linux sisteminde, which
hangi yürütülebilir dosyanın gerçekten seçildiğini görmek için kabukta çalıştırın:
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
aslında pg_wrapper
dinamik olarak çalıştırdığınız db kümesi için istemci programının uygun sürümünü seçen bir sembolik bağlantıdır pg_dump
. Ben adam sayfasını alıntı pg_wrapper
:
Bu program yalnızca / usr / lib / postgresql / version / bin içindeki PostgreSQL programlarına karşılık gelen isimlere bağlantı olarak çalıştırılır. Kullanıcı için yapılandırılmış kümeyi ve veritabanını belirler ve söz konusu kümeye ve veritabanına bağlanmak için istenen programın uygun sürümünü çağırır ve söz konusu komuta belirtilen seçenekleri sağlar.
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, kurulumunuzu bir şekilde berbat etmedikçe doğru sürüm otomatik olarak seçilmelidir. Her zaman --cluster
özel olma seçeneğini ekleyebilirsiniz .