Du kanske vill kontrollera om den långsamma klienten gör SSL-kryptering eller inte. Det händer som standard när det är konfigurerat på servern och klienten har kompilerats med SSL-stöd.
För frågor som hämtar stora mängder data är tidsskillnaden betydande. Också vissa Linux-distributioner som Debian/Ubuntu har SSL på som standard, även för TCP-anslutningar via localhost.
Som ett exempel, här är tidsskillnaden för en fråga som hämtar 1,5 miljoner rader som väger totalt 64 MB, med en varm cache.
Utan kryptering:
$ 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
Med kryptering:
$ 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
För att stänga av det globalt kan man ställa in SSL=off
i postgresql.conf
.
För att stänga av det för specifika intervall av klientadresser, lägg till poster i pg_hba.conf
med hostnossl
i det första fältet före den mer generiska host
poster.
För att stänga av om klientsidan beror det på hur drivrutinen exponerar sslmode
anslutningsparameter. Om den inte gör det, PGSSLMODE
miljövariabel kan användas om drivrutinen är implementerad ovanpå libpq
.
När det gäller anslutningar via Unix-domänuttag (local
), SSL används aldrig med dem.