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) |
| Perform a major upgrade and add encryption | Unencrypted EDB Postgres Extended Server (a given major version) | Encrypted EDB Postgres Extended Server (a later major version) |
| Perform a major upgrade on an encrypted database | Encrypted EDB Postgres Advanced Server (a given major version) | Encrypted EDB Postgres Advanced Server (a later major 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 |
Tutorials
See Tutorials for a list of step-by-step tutorials that highlight different migration scenarios.