sql >> データベース >  >> RDS >> PostgreSQL

postgresqlポートの混乱5433または5432?

    /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を使用しておらず、現在利用可能な時間よりも多くの時間を費やさずに、その側面について詳細を提供することはできません。



    1. Androidルームデータベースはすべてのデータをエクスポートしません

    2. 最適化のしきい値–データのグループ化と集約、パート5

    3. WHERE句で同じ列を複数回使用する

    4. SQLLIKEとINを一緒に使用する