/etc/services
これは単なる助言であり、よく知られたポートのリストです。そのポートで実際に何かが実行されていることや、指定されたサービスがそのポートで実行されることを意味するものではありません。
PostgreSQLの場合、使用可能な場合はポート5432を使用するのが一般的です。そうでない場合、ほとんどのインストーラーは次の空きポート(通常は5433)を選択します。
netstat
を使用して、実際に実行されているものを確認できます。 ツール(OS X、Windows、およびLinuxで使用可能で、コマンドライン構文は3つすべてで異なります)。
これは、Mac OS Xシステムでは、さまざまなPostgreSQLパッケージ(OSに組み込まれているAppleの古いバージョンのPostgreSQL、Postgres.app、Homebrew、Macports、EnterpriseDBインストーラーなど)のひどい混乱によってさらに複雑になります。
最終的には、ユーザーがPgをインストールし、1つのパッケージからサーバーを起動しますが、psql
を使用します。 およびlibpq
別のパッケージからのクライアント。通常、これは、Postgres.appまたはhomebrew Pgを実行していて、psql
に接続しているときに発生します。 OSに同梱されています。これらのデフォルトポートが異なる場合があるだけでなく、MacOSXに同梱されているPgのデフォルトのUNIXソケットパスも異なります。 したがって、サーバーが同じポートで実行されている場合でも、同じUNIXソケットをリッスンすることはありません。
ほとんどのMacユーザーは、psql -h localhost
でtcp/ipを使用するだけでこれを回避できます。 。必要に応じて、ポートを指定することもできます。例:psql -h localhost -p 5433
。複数のPostgreSQLインスタンスが実行されている可能性があるため、select version()
を使用して正しいインスタンスに接続していることを確認してください およびSHOW data_directory;
。
UNIXソケットディレクトリを指定することもできます。 unix_socket_directories
を確認してください 接続するPostgreSQLインスタンスの設定と、psql -h
で指定します 例:psql -h /tmp
。
よりクリーンな解決策は、システムのPATH
を修正することです。 psql
およびlibpq
実際に実行しているPostgreSQLに関連付けられているのは、PATH
で最初に見つかったものです。 。その詳細は、MacOSXのバージョンとインストールしたPgパッケージによって異なります。私はMacを使用しておらず、現在利用可能な時間よりも多くの時間を費やさずに、その側面について詳細を提供することはできません。