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 ).