Encryption at rest secures ParadeDB’s on-disk data with transparent AES encryption, preventing unauthorized reads of database files or backups.
Encryption at rest automatically encrypts every database page written to disk, WAL segment, and base backup. ParadeDB handles the cryptography, so client applications continue to run unchanged.
Enable encryption when your Orders, Customers, and Products tables hold sensitive PII, payment info, or business secrets. Compliance frameworks (PCI-DSS, SOC-2, HIPAA) often require it.
Provision ParadeDB with the ENV variable PARADED_ENCRYPTION_KEY
or set --encryption-key
in paradedb start
. ParadeDB rewrites existing files into an encrypted tablespace in place.
1. Generate a 256-bit key: openssl rand -base64 32 > /secure/keyfile
.
2. Export it: export PARADEDB_ENCRYPTION_KEY=$(cat /secure/keyfile)
.
3. Start ParadeDB: paradedb start --data-dir=/var/lib/paradedb
.
Run SHOW parade_encryption;
. A value of on
confirms every page is encrypted. Reading any base/
file with hexdump
should show random bytes, not plain text.
Yes. Use SELECT parade_create_tablespace('secure_ts','/mnt/secure','aes256');
then ALTER TABLE Orders SET TABLESPACE secure_ts;
. ParadeDB re-writes each moved relation encrypted.
Combine at-rest encryption with pgcrypto
or pgsodium
for field-level security: UPDATE Customers SET email = crypto_aead_encrypt(email,'','','nonce') WHERE id = 1;
.
AES-NI hardware acceleration keeps overhead <5 %. Benchmark your workload; ParadeDB’s buffer cache and parallelism often mask latency.
1. Export new key to PARADED_ENCRYPTION_KEY_NEW
.
2. Run SELECT parade_rotate_key();
. ParadeDB background-rewrites every file while staying online. Monitor progress via pg_stat_progress_rewrite
.
• Store keys in an HSM or KMS.
• Automate key rotation every 90 days.
• Encrypt logical backups with gpg
even though base backups are already encrypted.
Yes. Export PARADEDB_ENCRYPTION_KEY
then run SELECT parade_encrypt_cluster();
. The function rewrites data in place while the database remains online.
ParadeDB supports hot rotation with parade_rotate_key()
. Users see no downtime but expect extra I/O during the rewrite.
Physical replicas stream already-encrypted WAL records, so standby files are protected as well.