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 :)

  • What about using an encrypted filesystem?
    – user1822
    Commented Apr 29, 2014 at 8:28

1 Answer 1


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:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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