Known issues and limitations for the migration service
APPLIES TO:
Azure Database for PostgreSQL - Flexible Server
This article describes the known issues and limitations that are associated with the migration service in Azure Database for PostgreSQL.
Common limitations
The following list describes common limitations that apply to migration scenarios:
You can have only one active migration or validation to your flexible server.
The migration service supports migration for users and roles only when the source is Azure Database for PostgreSQL - Single Server.
The migration service shows the number of tables that are copied from the source to the target. You must manually check the data and PostgreSQL objects on the target server after migration.
The migration service migrates only user databases. The service doesn't migrate system databases like template_0 and template_1.
The following limitations apply to Extension migrations:
- The migration service does not support migrating the
pg_partman
extension from the source to the target. - The migration service does not support migrating the
postgres_fdw
extension in the following scenarios:- When user/roles migration is disabled using the migration server parameter that is
azure.migration_skip_role_user = on
. - When the source PostgreSQL version is greater than 15.
- When the source is AWS, on-premises, GCP, or an Azure VM (excluding Azure Database for PostgreSQL - Single Server).
- When user/roles migration is disabled using the migration server parameter that is
Note
The feature to migrate databases that have the TIMESCALEDB extension is GA. Do note that only Offline migration is possible for time series databases.
- The migration service does not support migrating the
You can't move extensions that aren't supported by Azure Database for PostgreSQL flexible server. Supported extensions are listed in Extensions for Azure Database for PostgreSQL.
User-defined collations can't be migrated to Azure Database for PostgreSQL flexible server.
You can't migrate to an earlier version. For instance, you can't migrate from Azure Database for PostgreSQL version 15 to Azure Database for PostgreSQL version 14.
The migration service works only with an
SSLMODE
value ofpreferred
orrequired
.The migration service doesn't support superuser permissions and objects.
Azure Database for PostgreSQL flexible server doesn't support the creation of custom tablespaces due to restrictions on superuser permissions. During migration, data from custom tablespaces in the source PostgreSQL instance is migrated to the default tablespaces of the target instance of Azure Database for PostgreSQL flexible server.
The following PostgreSQL objects can't be migrated to a Flexible Server target:
- Create casts
- Creation of full-text search (FTS) parsers and FTS templates
- Users that have superuser roles
- Create TYPE
The migration service doesn't support migration at the object level. That is, you can't migrate a table or a schema.
Important
Though the Burstable SKU is not a limitation, it is recommended to choose a higher SKU for your flexible server to perform faster migrations. Azure Database for PostgreSQL flexible server supports near-zero downtime compute and IOPS scaling, so the SKU can be updated with minimal downtime. You can always change the SKU to match the application needs post-migration.
Limitations in migrating from Azure Database for PostgreSQL - Single Server
The following list describes limitations specific to migrating from Azure Database for PostgreSQL - Single Server:
- If the target flexible server uses the SCRAM-SHA-256 password encryption method, connection to a flexible server by using the users or roles on a single server fails. On a single server, passwords are encrypted by using the MD5 algorithm. To mitigate this limitation, for the
password_encryption
server parameter on your flexible server, select the optionMD5
. - Online migration uses pgcopydb follow. Some logical decoding restrictions apply.