Load the `pg_tde` at the start time. The extension requires additional shared memory; therefore, add the `pg_tde` value for the `shared_preload_libraries` parameter and restart the `postgresql` instance.
1. Use the [ALTER SYSTEM](https://www.postgresql.org/docs/current/sql-altersystem.html) command from `psql` terminal to modify the `shared_preload_libraries` parameter.
@ -38,7 +40,9 @@ Load the `pg_tde` at the start time. The extension requires additional shared me
psql -d template1 -c 'CREATE EXTENSION pg_tde;'
```
4. Set up a key provider for the database where you have enabled the extension
## Key provider configuration
1. Set up a key provider for the database where you have enabled the extension
=== "With HaschiCorp Vault"
@ -63,7 +67,7 @@ Load the `pg_tde` at the start time. The extension requires additional shared me
@ -72,6 +76,65 @@ Load the `pg_tde` at the start time. The extension requires additional shared me
<iinfo>:material-information: Info:</i> The key provider configuration is stored in the database catalog in an unencrypted table. See [how to use external reference to parameters](external-parameters.md) to add an extra security layer to your setup.
## WAL encryption configuration (tech preview)
Perform this step if you [installed Percona Server for PostgreSQL :octicons-link-external-16:](https://docs.percona.com/postgresql/17/installing.html). Otherwise, proceed to the [Next steps](#next-steps).
1. Enable WAL level encryption using the ALTER SYSTEM SET command:
```sql
ALTER SYSTEM set pg_tde.wal_encrypt = on;
```
2. Restart the server to apply the changes.
* On Debian and Ubuntu:
```sh
sudo systemctl restart postgresql.service
```
* On RHEL and derivatives
```sh
sudo systemctl restart postgresql-17
```
After you enabled `pg_tde` and started the Percona Server for PostgreSQL, a principal key and a keyring for WAL are created. We highly recommend you to create your own keyring and rotate the principal key. This is because the default principal key is created from the local keyfile and is stored unencrypted.