/etc/services
単なる助言であり、よく知られたポートのリストです。そのポートで実際に何かが実行されている、または指定されたサービスがそのポートで実行されるという意味ではありません。
PostgreSQLの場合、ポート5432が使用可能な場合は、それを使用するのが一般的です。そうでない場合、ほとんどのインストーラーは次の空きポート(通常は5433)を選択します。
このnetstat
ツールを使用すると、実際に何が実行されているかを確認できます(OS X、Windows、およびLinuxで使用可能で、コマンドライン構文は3つすべてで異なります)。
これは、さまざまなPostgreSQLパッケージの恐ろしい混乱によってMac OS Xシステムでさらに複雑になります-OS、Postgres.app、Homebrew、Macports、EnterpriseDBインストーラーなどに組み込まれたAppleのPostgreSQLの古いバージョン。
結局のところ、ユーザーはPgをインストールして、あるパッケージからサーバーを起動しますが、別のパッケージからpsql
とlibpq
クライアントを使用します。通常、これはPostgres.appまたはhomebrew Pgを実行してpsql
いて、OSに同梱されているものに接続しているときに発生します。デフォルトポートが異なる場合があるだけでなく、Mac OS Xに同梱されているPgのデフォルトUNIXソケットパスも異なるため、サーバーが同じポートで実行されていても、同じUNIXソケットをリッスンしません。
ほとんどのMacユーザーは、でtcp / ipを使用するだけでこれを回避しpsql -h localhost
ます。必要に応じて、ポートを指定することもできます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
。その詳細は、Mac OS XのバージョンとインストールしたPgパッケージによって異なります。私はMacを使用していないので、現在利用できる時間よりも多くの時間を費やすことなく、その面ではるかに詳細な情報を提供することはできません。
PGPORT
定義されていますpostgresql.org/docs/current/static/libpq-envars.html