Existe un parche que te da la posibilidad de cifrar toda la instancia.
Este parche almacena los datos en el disco en formato cifrado, es decir, cada vez que se escribe el bloque en el disco desde el shared buffers, éste se cifrará automáticamente y descifrará cuando los bloques sean leídos del disco.
La configuración es muy sencilla, simplemente hay que exportar una variable de entorno e inicializar el cluster.
Además, la penalización en el rendimiento apenas se nota. Para ello hay que configurar el shared buffers de PostgreSQL aumentando la memoria, así realiza el cifrado más rápido y resulta beneficioso para el cliente.
Si quieres obtener más información sobre pruebas de rendimientos realizadas por el autor, te dejamos los enlaces en el final del post.
Fuentes de información:
http://www.cybertec.at/postgresql-instance-level-encryption/
http://www.cybertec.at/announcing-availability-of-postgresql-instance-level-encryption/
http://www.cybertec.at/postgresql_produkte/postgresql-verschluesselung-von-instanzen/