I want to have the whole database to be encrypted, instead of encrypting the data before storing into database.

Is it possible to encrypt the whole postgres database and what best method to use?

Thanks :)


PostgreSQL doesn't currently support DB-level encryption. (Correct as of 9.4, at least).

You can use an encrypted file system, though the performance impact can be pretty serious for write-heavy systems, especially those doing random I/O. Your options depend on the operating system - Microsoft BitLocker, Linux's dm-crypt/LUKS/cryptsetup, OS X's FileVault 2, etc.

Alternately, look at PgCrypto for field-level encryption, but beware of key-disclosure issues in logging and pg_stat_activity.

See also:

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.