エラーメッセージによると、psql $PATHの最初に表示されるコマンド /tmpがあります ハードコードされたデフォルトのUNIXソケットディレクトリとして。
実際のディレクトリは実際には/var/pgsql_socketであるため 、デフォルトに依存するのではなく、明示的に伝える必要があります:
$ psql -h /var/pgsql_socket [other options]
createdbなどの他のクライアント側コマンドにも同じことが当てはまります。 、dropdb 、createuser ...
-hを指定したくない場合 毎回、PGHOSTに入れることができます 環境変数。
localhostへのTCP接続を使用してこれを解決する人もいます。 Unixソケットディレクトリを使用するのではなく。
この問題の根本的な原因は、Mac OS XにPostgreSQLをインストールした後、システムにpostgresクライアントセットの2つの異なるインスタンス(libpq)が含まれることです。 ライブラリ、psql およびその他の関連ユーティリティ)、1つはMacOSにバンドルされており、もう1つはPostgreSQLインストーラーに付属しています。
したがって、さらに別の方法は、$PATHを変更することです。 psql PostgreSQLでインストールされたものは、システムでインストールされたものよりも先に選択されます(おそらく/usr/bin/psql 。