You can use pg_upgrade with additional TDE arguments to perform upgrading and migrating operations.
This table provides an overview of supported use cases.
| Use case | Source database server | Target database server |
|---|---|---|
| Perform a minor upgrade and add encryption | Unencrypted EDB Postgres Extended Server (a given major version, earlier minor version) | Encrypted EDB Postgres Extended Server (same major version, later minor version) |
| Change the Postgres distribution and add encryption | Unencrypted PostgreSQL (a given major version) | Encrypted EDB Postgres Advanced Server (same major version) |
| Maintain the Postgres distribution and add encryption | Unencrypted EDB Postgres Advanced Server (a given major version) | Encrypted EDB Postgres Advanced Server (same major version) |
| Maintain the Postgres distribution and rotate encryption keys | Encrypted EDB Postgres Advanced Server (a given major version) | Encrypted EDB Postgres Advanced Server (same major version) with new encryption keys |
Important
Both source and target servers must be in the same Postgres major version. pg_upgrade only supports upgrades between minor versions on TDE-enabled databases.
Tutorials
See Tutorials for a list of step-by-step tutorials that highlight different migration scenarios.