Du vil måske kontrollere, om den langsomme klient udfører SSL-kryptering eller ej. Det sker som standard, når det er sat op på serveren, og klienten er blevet kompileret med SSL-understøttelse.
For forespørgsler, der henter store mængder data, er tidsforskellen betydelig. Også nogle Linux-distributioner som Debian/Ubuntu har SSL slået til som standard, selv for TCP-forbindelser via localhost.
Som et eksempel er her tidsforskellen for en forespørgsel, der henter 1,5M rækker, der vejer i alt 64Mbytes, med en varm cache.
Uden 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
For at slå det fra globalt, kan man indstille SSL=off
i postgresql.conf
.
For at deaktivere det for specifikke områder af klientadresser skal du tilføje poster i pg_hba.conf
med hostnossl
i det første felt før den mere generiske host
poster.
For at slå det fra på klientsiden afhænger det af, hvordan driveren eksponerer sslmode
forbindelsesparameter. Hvis den ikke gør det, vises PGSSLMODE
miljøvariablen kan bruges, hvis driveren er implementeret oven på libpq
.
Hvad angår forbindelser gennem Unix-domæne-sockets (local
), SSL bruges aldrig sammen med dem.