Skip to content

Commit db50bf0

Browse files
Merge pull request #4517 from MicrosoftDocs/main
Auto Publish – main to live - 2026-03-11 22:10 UTC
2 parents 45d00fe + e6fb2d7 commit db50bf0

18 files changed

Lines changed: 820 additions & 65 deletions

.github/instructions/documentdb.instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ The following metadata fields are acceptable and should not be changed:
2626

2727
- `ms.service` and `ms.subservice` values - Microsoft Learn taxonomy values
2828

29+
### Language naming in headings
30+
31+
Use "Node.js" — not "TypeScript" or "JavaScript" — in article titles, H1 headings, and H2 headings when referring to the platform or runtime. "Node.js" is the umbrella term regardless of whether the sample code uses JavaScript or TypeScript. Do not suggest renaming "Node.js" to "TypeScript" or "JavaScript" in headings.
32+
2933
## Content formatting
3034

3135
Code blocks, queries, and documentation structure guidelines.

articles/postgresql/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,8 @@
505505
href: migrate/migration-service/tutorial-migration-service-cloud-sql-offline.md
506506
- name: From Google AlloyDB for PostgreSQL
507507
href: migrate/migration-service/tutorial-migration-service-alloy-db-offline.md
508+
- name: From EDB Extended server
509+
href: migrate/migration-service/tutorial-migration-service-enterprise-db-extended-server-offline.md
508510
- name: Migrate online
509511
items:
510512
- name: From an Azure VM or an on-premises PostgreSQL server
@@ -517,6 +519,8 @@
517519
href: migrate/migration-service/tutorial-migration-service-cloud-sql-online.md
518520
- name: From Google AlloyDB for PostgreSQL
519521
href: migrate/migration-service/tutorial-migration-service-alloy-db-online.md
522+
- name: From EDB Extended server
523+
href: migrate/migration-service/tutorial-migration-service-enterprise-db-extended-server-online.md
520524
- name: Concepts
521525
items:
522526
- name: Premigration validation

articles/postgresql/index.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
description: "Azure Database for PostgreSQL is a fully managed relational database service on Microsoft Azure, combining the open-source PostgreSQL engine with built-in AI, high performance, and enterprise-grade security."
55
author: gkasar
66
ms.author: gkasar
7-
ms.reviewer: maghan, shaithal, hariram
7+
ms.reviewer: maghan, shaithal, hariramt
88
ms.date: 05/27/2025
99
ms.service: azure-database-postgresql
1010
ms.topic: landing-page
@@ -154,6 +154,8 @@ landingContent:
154154
url: migrate/migration-service/tutorial-migration-service-cloud-sql-offline.md
155155
- text: Migrate (Offline) from Google AlloyDB for PostgreSQL
156156
url: migrate/migration-service/tutorial-migration-service-alloy-db-offline.md
157+
- text: Migrate (Offline) from EDB Extended server
158+
url: migrate/migration-service/tutorial-migration-service-enterprise-db-extended-server-offline.md
157159

158160
# Card 6
159161
- title: Migrate to Azure Database for PostgreSQL (online)
@@ -178,6 +180,8 @@ landingContent:
178180
url: migrate/migration-service/tutorial-migration-service-cloud-sql-online.md
179181
- text: Migrate (Online) from Google AlloyDB for PostgreSQL
180182
url: migrate/migration-service/tutorial-migration-service-alloy-db-online.md
183+
- text: Migrate (Online) from EDB Extended server
184+
url: migrate/migration-service/tutorial-migration-service-enterprise-db-extended-server-online.md
181185

182186
#Card 7
183187
- title: Additional Resources
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: Prerequisites Using the Migration Service from EnterpriseDB Extended Server (Offline) Preview
3+
description: Providing the offline prerequisites for the migration service in Azure Database for PostgreSQL.
4+
author: hariramt
5+
ms.author: hariramt
6+
ms.reviewer: maghan
7+
ms.date: 03/11/2026
8+
ms.service: azure-database-postgresql
9+
ms.topic: include
10+
---
11+
12+
Before starting the migration with the Azure Database for PostgreSQL migration service, it is important to fulfill the following prerequisites, specifically designed for offline migration scenarios.
13+
14+
- [Verify the source version](#verify-the-source-version)
15+
- [Configure target setup](#configure-target-setup)
16+
- [Configure network setup](#configure-network-setup)
17+
- [Enable extensions](#enable-extensions)
18+
- [Check server parameters](#check-server-parameters)
19+
- [Check users and roles](#check-users-and-roles)
20+
- [Disable high availability (reliability) and read replicas in the target](#disable-high-availability-reliability-and-read-replicas-in-the-target)
21+
22+
### Verify the source version
23+
24+
The source PostgreSQL server version must be 9.5 or later.
25+
26+
If the source PostgreSQL version is less than 9.5, upgrade it to 9.5 or higher before you start the migration.
27+
28+
### Configure target setup
29+
30+
Before you begin the migration, you must set up an [Azure Database for PostgreSQL](/azure/postgresql/flexible-server/) in Azure.
31+
32+
The SKU chosen for the Azure Database for PostgreSQL should correspond with the specifications of the source database to ensure compatibility and adequate performance.
33+
34+
When migrating across PostgreSQL versions (major or minor), ensure compatibility between your database and application by reviewing the [release notes](https://www.postgresql.org/docs/17/release.html) for potential breaking changes.
35+
36+
### Configure network setup
37+
38+
Network setup is crucial for the migration service to function correctly. Ensure that the source PostgreSQL server can communicate with the target Azure Database for PostgreSQL server. The following network configurations are essential for a successful migration.
39+
40+
For information about network setup, visit [Network guide for migration service](../../how-to-network-setup-migration-service.md).
41+
42+
#### Additional networking considerations
43+
44+
To facilitate connectivity between the source and target PostgreSQL instances, it's essential to verify and potentially modify the pg_hba.conf file of the source server. This file includes client authentication and must be configured to allow the target PostgreSQL to connect to the source. Changes to the pg_hba.conf file, typically require a restart of the source PostgreSQL instance to take effect.
45+
46+
The pg_hba.conf file is located in the data directory of the PostgreSQL installation. This file should be checked and configured, if the source database is an on-premises PostgreSQL server or a PostgreSQL server hosted on an Azure VM.
47+
48+
### Enable extensions
49+
50+
[!INCLUDE [prerequisites-migration-service-extensions](../prerequisites/prerequisites-migration-service-extensions.md)]
51+
52+
### Check server parameters
53+
54+
These parameters aren't automatically migrated to the target environment, and must be manually configured.
55+
56+
- Match server parameter values from the source PostgreSQL database to the Azure Database for PostgreSQL by accessing the **Server parameters** page in the Azure portal, and manually updating the values accordingly.
57+
58+
- Save the parameter changes and restart the Azure Database for PostgreSQL to apply the new configuration, if necessary.
59+
60+
### Check users and roles
61+
62+
When migrating to Azure Database for PostgreSQL, it's essential to address the migration of users and roles separately, as they require manual intervention:
63+
64+
- **Manual migration of users and roles**: Users and roles must be manually migrated to the Azure Database for PostgreSQL. To facilitate this process, you can use the `pg_dumpall` utility with the `--globals-only` flag to export global objects, such as roles and users. Execute the following command, replacing `<<username>>` with the actual username, and `<<filename>>` with your desired output file name:
65+
66+
```sql
67+
pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
68+
```
69+
70+
- **Restriction on superuser roles**: Azure Database for PostgreSQL doesn't support superuser roles. Therefore, users with superuser privileges must have those privileges removed before migration. Ensure that you adjust the permissions and roles accordingly.
71+
72+
By following these steps, you can ensure that user accounts and roles are correctly migrated to the Azure Database for PostgreSQL without encountering issues related to superuser restrictions.
73+
74+
### Disable high availability (reliability) and read replicas in the target
75+
76+
- Disabling high availability (reliability) and reading replicas in the target environment is essential. These features should be enabled only after the migration is completed.
77+
78+
- By following these guidelines, you can help ensure a smooth migration process, without the added variables introduced by high availability and read replicas. Once the migration is complete and the database is stable, you can proceed to enable these features to enhance the availability and scalability of your database environment in Azure.
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
title: Prerequisites Using the Migration Service from EnterpriseDB Extended Server (Online) Preview
3+
description: Providing the online prerequisites for the migration service in Azure Database for PostgreSQL.
4+
author: hariramt
5+
ms.author: hariramt
6+
ms.reviewer: maghan
7+
ms.date: 03/11/2026
8+
ms.service: azure-database-postgresql
9+
ms.topic: include
10+
---
11+
12+
Before starting the migration with the Azure Database for PostgreSQL migration service, it's important to fulfill the following prerequisites, specifically designed for online migration scenarios.
13+
14+
- [Verify the source version](#verify-the-source-version)
15+
- [Install test_decoding - Source Setup](#install-test_decoding---source-setup)
16+
- [Configure target setup](#configure-target-setup)
17+
- [Enable CDC as a source](#enable-cdc-as-a-source)
18+
- [Configure network setup](#configure-network-setup)
19+
- [Enable extensions](#enable-extensions)
20+
- [Check server parameters](#check-server-parameters)
21+
- [Check users and roles](#check-users-and-roles)
22+
23+
### Verify the source version
24+
25+
The source PostgreSQL server version must be 9.5 or later.
26+
27+
If the source PostgreSQL version is less than 9.5, upgrade it to 9.5 or higher before you start the migration.
28+
29+
### Install test_decoding - source setup
30+
31+
- **test_decoding** receives WAL through the logical decoding mechanism and decodes it into text representations of the operations performed.
32+
- In EDB Extended server, the test_decoding plugin is preinstalled and ready for logical replication. This allows you to easily set up logical replication slots and stream WAL changes, facilitating use cases such as change data capture (CDC) or replication to external systems.
33+
- For more information about the test-decoding plugin, see the [PostgreSQL documentation](https://www.postgresql.org/docs/16/test-decoding.html)
34+
35+
### Configure target setup
36+
37+
- Before migrating, Azure Database for PostgreSQL - Flexible server must be created.
38+
- SKU provisioned for Azure Database for PostgreSQL - Flexible server should match with the source.
39+
- To create a new Azure Database for PostgreSQL, visit [Create an Azure Database for PostgreSQL flexible server](../../../../flexible-server/quickstart-create-server.md)
40+
41+
### Enable CDC as a source
42+
43+
- `test_decoding` logical decoding plugin captures the changed records from the source.
44+
- To ensure the migration user has the necessary replication privileges, execute the following SQL command:
45+
46+
```sql
47+
ALTER USER <user> WITH REPLICATION;
48+
```
49+
- Go to the EDB Extended server instance at the source, and modify the following flags:
50+
51+
- Set flag `logical_decoding = on`
52+
- Set flag `max_replication_slots` to a value greater than one; the value should be greater than the number of databases selected for migration.
53+
- Set flag `max_wal_senders` to a value greater than one. It should be at least the same as `max_replication_slots`, plus the number of senders already used on your instance.
54+
- The flag `wal_sender_timeout` ends inactive replication connections longer than the specified number of milliseconds. Setting the value to 0 (zero) disables the timeout mechanism and is a valid setting for migration.
55+
56+
- In the target flexible server, to prevent the Online migration from running out of storage to store the logs, ensure that you have sufficient tablespace space using a provisioned managed disk. To achieve this, disable the server parameter `azure.enable_temp_tablespaces_on_local_ssd` for the duration of the migration, and restore it to the original state after the migration.
57+
58+
### Configure network setup
59+
60+
Network setup is crucial for the migration service to function correctly. Ensure that the source PostgreSQL server can communicate with the target Azure Database for PostgreSQL server. The following network configurations are essential for a successful migration.
61+
62+
For information about network setup, visit [Network guide for migration service](../../how-to-network-setup-migration-service.md).
63+
64+
### Enable extensions
65+
66+
[!INCLUDE [prerequisites-migration-service-extensions](../prerequisites/prerequisites-migration-service-extensions.md)]
67+
68+
### Check server parameters
69+
70+
These parameters aren't automatically migrated to the target environment and must be manually configured.
71+
72+
- Match server parameter values from the source PostgreSQL database to the Azure Database for PostgreSQL by accessing the "Server parameters" section in the Azure portal and manually updating the values accordingly.
73+
74+
- Save the parameter changes and restart the Azure Database for PostgreSQL to apply the new configuration if necessary.
75+
76+
### Check users and roles
77+
78+
When migrating to Azure Database for PostgreSQL, it's essential to address the migration of users and roles separately, as they require manual intervention:
79+
80+
- **Manual migration of users and roles**: Users and their associated roles must be manually migrated to the Azure Database for PostgreSQL. To facilitate this process, you can use the `pg_dumpall` utility with the `--globals-only` flag to export global objects such as roles and user accounts. Execute the following command, replacing `<<username>>` with the actual username and `<<filename>>` with your desired output file name:
81+
82+
```sql
83+
pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
84+
```
85+
86+
- **Restriction on superuser roles**: Azure Database for PostgreSQL doesn't support superuser roles. Therefore, users with superuser privileges must have those privileges removed before migration. Ensure that you adjust the permissions and roles accordingly.
87+
88+
By following these steps, you can ensure that user accounts and roles are correctly migrated to the Azure Database for PostgreSQL without encountering issues related to superuser restrictions.
89+
90+
### Disable high availability (reliability) and read replicas in the target
91+
92+
- Disabling high availability (reliability) and reading replicas in the target environment is essential. These features should be enabled only after the migration has been completed.
93+
94+
- By following these guidelines, you can help ensure a smooth migration process without the added variables introduced by HA and Read Replicas. Once the migration is complete and the database is stable, you can proceed to enable these features to enhance the availability and scalability of your database environment in Azure.
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)