Menurut pesan kesalahan, psql
perintah yang muncul pertama kali di $PATH
memiliki /tmp
sebagai direktori soket unix default hard-coded.
Karena direktori sebenarnya sebenarnya /var/pgsql_socket
, Anda harus memberitahukannya secara eksplisit daripada mengandalkan default:
$ psql -h /var/pgsql_socket [other options]
Hal yang sama berlaku untuk perintah sisi klien lainnya seperti createdb
, dropdb
, createuser
...
Jika Anda tidak ingin menentukan -h
setiap kali, itu dapat dimasukkan ke dalam PGHOST
variabel lingkungan.
Beberapa orang juga menyelesaikan ini dengan menggunakan koneksi TCP ke localhost
daripada menggunakan direktori soket Unix.
Akar penyebab masalah ini adalah setelah menginstal PostgreSQL di Mac OS X, sistem akhirnya memiliki dua contoh berbeda dari set klien postgres (libpq
perpustakaan, psql
dan utilitas terkait lainnya), satu yang dibundel dengan MacOS dan lainnya yang disertakan dengan penginstal PostgreSQL.
Oleh karena itu metode lain adalah mengubah $PATH
. Anda sehingga psql
diinstal dengan PostgreSQL akan dipilih sebelum yang diinstal dengan sistem (mungkin /usr/bin/psql
).