低速のクライアントがSSL暗号化を実行しているかどうかを確認することをお勧めします。デフォルトでは、サーバーにセットアップされ、クライアントがSSLサポートでコンパイルされている場合に発生します。
大量のデータを取得するクエリの場合、時差が大きくなります。また、Debian / Ubuntuなどの一部のLinuxディストリビューションでは、ローカルホストを介したTCP接続の場合でも、デフォルトでSSLがオンになっています。
例として、ウォームキャッシュを使用して合計64Mバイトの1,500万行を取得するクエリの時差を次に示します。
暗号化なし:
$ psql "host=localhost dbname=mlists sslmode=disable" Password: psql (9.1.7, server 9.1.9) Type "help" for help. mlists=> \timing Timing is on. mlists=> \o /dev/null mlists=> select subject from mail; Time: 1672.258 ms
暗号化あり:
$ psql "host=localhost dbname=mlists" Password: psql (9.1.7, server 9.1.9) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. mlists=> \o /dev/null mlists=> \timing Timing is on. mlists=> select subject from mail; Time: 7017.935 ms
グローバルにオフにするには、SSL=off
を設定します。 postgresql.conf
内 。
特定の範囲のクライアントアドレスに対してオフにするには、pg_hba.conf
にエントリを追加します hostnossl
を使用 より一般的なhost
の前の最初のフィールド エントリ。
クライアント側をオフにする場合は、ドライバーがsslmode
を公開する方法によって異なります。 接続パラメータ。そうでない場合は、PGSSLMODE
ドライバーがlibpq
の上に実装されている場合は、環境変数を使用できます。 。
Unixドメインソケット(local
)を介した接続について )、SSLはそれらと一緒に使用されることはありません。