AWS Security ChangesHomeSearch

AWS AmazonRDS documentation change

Service: AmazonRDS · 2025-05-22 · Documentation low

File: AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pgactive.md

Summary

Restructured documentation by removing detailed implementation steps and replacing them with hyperlinks to dedicated sections. Added version compatibility note for PostgreSQL 17.0+.

Security assessment

The changes primarily reorganize content into linked subpages and add version compatibility information. There is no evidence of security vulnerability fixes, security configuration guidance, or references to security incidents. The version note indicates feature availability but does not address security controls.

Diff

diff --git a/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pgactive.md b/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pgactive.md
index 928cda1ef..80707fcd6 100644
--- a//AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pgactive.md
+++ b//AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pgactive.md
@@ -5 +5 @@
-Initializing the pgactive extensionSetting up active-active replicationHandling conflicts in active-active replicationHandling sequences in active-active replicationParameter reference for pgactive extension parametersMeasuring replication lag among pgactive membersLimitations
+Limitations
@@ -10,0 +11,2 @@ The `pgactive` extension uses active-active replication to support and coordinat
+  * RDS for PostgreSQL 17.0 and all higher versions
+
@@ -28 +30 @@ The `pgactive` extension uses active-active replication to support and coordinat
-When there are write operations on more than one database in a replication configuration, conflicts are possible. For more information, see Handling conflicts in active-active replication
+When there are write operations on more than one database in a replication configuration, conflicts are possible. For more information, see [Handling conflicts in active-active replication](./Appendix.PostgreSQL.CommonDBATasks.pgactive.handle-conflicts.html)
@@ -32,12 +33,0 @@ When there are write operations on more than one database in a replication confi
-  * Initializing the pgactive extension capability
-
-  * Setting up active-active replication for RDS for PostgreSQL DB instances
-
-  * Handling conflicts in active-active replication
-
-  * Handling sequences in active-active replication
-
-  * Parameter reference for the pgactive extension
-
-  * Measuring replication lag among pgactive members
-
@@ -45,0 +36 @@ When there are write operations on more than one database in a replication confi
+  * [Initializing the pgactive extension capability](./Appendix.PostgreSQL.CommonDBATasks.pgactive.basic-setup.html)
@@ -46,0 +38 @@ When there are write operations on more than one database in a replication confi
+  * [Setting up active-active replication for RDS for PostgreSQL DB instances](./Appendix.PostgreSQL.CommonDBATasks.pgactive.setup-replication.html)
@@ -47,0 +40 @@ When there are write operations on more than one database in a replication confi
+  * [Measuring replication lag among pgactive members](./Appendix.PostgreSQL.CommonDBATasks.pgactive.replicationlag.html)
@@ -49,340 +42 @@ When there are write operations on more than one database in a replication confi
-## Initializing the pgactive extension capability
-
-To initialize the `pgactive` extension capability on your RDS for PostgreSQL DB instance, set the value of the `rds.enable_pgactive` parameter to `1` and then create the extension in the database. Doing so automatically turns on the parameters `rds.logical_replication` and `track_commit_timestamp` and sets the value of `wal_level` to `logical`. 
-
-You must have permissions as the `rds_superuser` role to perform these tasks.
-
-You can use the AWS Management Console or the AWS CLI to create the required RDS for PostgreSQL DB instances. The steps following assume that your RDS for PostgreSQL DB instance is associated with a custom DB parameter group. For information about creating a custom DB parameter group, see [Parameter groups for Amazon RDS](./USER_WorkingWithParamGroups.html).
-
-###### To initialize the pgactive extension capability
-
-  1. Sign in to the AWS Management Console and open the Amazon RDS console at [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).
-
-  2. In the navigation pane, choose your RDS for PostgreSQL DB instance.
-
-  3. Open the **Configuration** tab for your RDS for PostgreSQL DB instance. In the instance details, find the **DB instance parameter group** link. 
-
-  4. Choose the link to open the custom parameters associated with your RDS for PostgreSQL DB instance. 
-
-  5. Find the `rds.enable_pgactive` parameter, and set it to `1` to initialize the `pgactive` capability.
-
-  6. Choose **Save changes**.
-
-  7. In the navigation pane of the Amazon RDS console, choose **Databases**.
-
-  8. Select your RDS for PostgreSQL DB instance, and then choose **Reboot** from the **Actions** menu.
-
-  9. Confirm the DB instance reboot so that your changes take effect. 
-
-  10. When the DB instance is available, you can use `psql` or any other PostgreSQL client to connect to the RDS for PostgreSQL DB instance. 
-
-The following example assumes that your RDS for PostgreSQL DB instance has a default database named `postgres`.
-    
-        psql --host=mydb.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=master username --password --dbname=postgres
-    
-
-  11. To verify that pgactive is initialized, run the following command.
-    
-        postgres=>SELECT setting ~ 'pgactive' 
-    FROM pg_catalog.pg_settings
-    WHERE name = 'shared_preload_libraries';
-
-If `pgactive` is in `shared_preload_libraries`, the preceding command will return the following:
-    
-        ?column? 
-    ----------
-     t
-
-  12. Create the extension, as follows.
-    
-        postgres=> CREATE EXTENSION pgactive;
-    
-
-
-
-
-###### To initialize the pgactive extension capability
-
-To initialize the `pgactive` using the AWS CLI, call the [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) operation to modify certain parameters in your custom parameter group as shown in the following procedure.
-
-  1. Use the following AWS CLI command to set `rds.enable_pgactive` to `1` to initialize the `pgactive` capability for the RDS for PostgreSQL DB instance.
-    
-        postgres=>aws rds modify-db-parameter-group \
-       --db-parameter-group-name custom-param-group-name \
-       --parameters "ParameterName=rds.enable_pgactive,ParameterValue=1,ApplyMethod=pending-reboot" \
-       --region aws-region
-
-  2. Use the following AWS CLI command to reboot the RDS for PostgreSQL DB instance so that the `pgactive` library is initialized.
-    
-        aws rds reboot-db-instance \
-        --db-instance-identifier your-instance \
-        --region aws-region
-
-  3. When the instance is available, use `psql` to connect to the RDS for PostgreSQL DB instance.
-    
-        psql --host=mydb.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=master user --password --dbname=postgres
-    
-
-  4. Create the extension, as follows.
-    
-        postgres=> CREATE EXTENSION pgactive;
-    
-
-
-
-
-## Setting up active-active replication for RDS for PostgreSQL DB instances
-
-The following procedure shows you how to start active-active replication between two RDS for PostgreSQL DB instances running PostgreSQL 15.4 or higher in the same region. To run the multi-region high availability example, you need to deploy Amazon RDS for PostgreSQL instances in two different regions and set up VPC Peering. For more information, see [VPC peering](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html).
-
-###### Note
-
-Sending traffic between multiple regions may incur additional costs.
-
-These steps assume that the RDS for PostgreSQL DB instance has been setup with the `pgactive` extension. For more information, see Initializing the pgactive extension capability. 
-
-###### To configure the first RDS for PostgreSQL DB instance with the `pgactive` extension
-
-The following example illustrates how the `pgactive` group is created, along with other steps required to create the `pgactive` extension on the RDS for PostgreSQL DB instance.
-
-  1. Use `psql` or another client tool to connect to your first RDS for PostgreSQL DB instance.
-    
-        psql --host=firstinstance.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=master username --password --dbname=postgres
-    
-
-  2. Create a database on the RDS for PostgreSQL instance using the following command:
-    
-        postgres=> CREATE DATABASE app;
-
-  3. Switch connection to the new database using the following command:
-    
-        \c app
-
-  4. To check if the `shared_preload_libraries` parameter contains `pgactive`, run the following command: 
-    
-        app=>SELECT setting ~ 'pgactive' FROM pg_catalog.pg_settings WHERE name = 'shared_preload_libraries';
-    
-         ?column? 
-    ----------
-     t
-
-  5. Create and populate a sample table using the following SQL statements:
-
-    1. Create an example table using the following SQL statement.
-        
-                app=> CREATE SCHEMA inventory;
-        CREATE TABLE inventory.products (
-        id int PRIMARY KEY, product_name text NOT NULL,
-        created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP);
-
-    2. Populate the table with some sample data by using the following SQL statement.
-        
-                app=> INSERT INTO inventory.products (id, product_name)
-        VALUES (1, 'soap'), (2, 'shampoo'), (3, 'conditioner');
-        
-
-    3. Verify that data exists in the table by using the following SQL statement.
-        
-                 app=>SELECT count(*) FROM inventory.products;
-        
-         count
-        -------
-         3
-
-  6. Create `pgactive` extension on the existing database.
-    
-        app=> CREATE EXTENSION pgactive;
-
-  7. Create and initialize the pgactive group using the following commands:
-    
-        app=> SELECT pgactive.pgactive_create_group(
-        node_name := 'node1-app',
-        node_dsn := 'dbname=app host=firstinstance.111122223333.aws-region.rds.amazonaws.com user=master username password=PASSWORD');
-
-node1-app is the name that you assign to uniquely identify a node in the `pgactive` group.
-
-###### Note
-
-To perform this step successfully on a DB instance that is publicly accessible, you must turn on the `rds.custom_dns_resolution` parameter by setting it to `1`.
-
-  8. To check if the DB instance is ready, use the following command:
-    
-        app=> SELECT pgactive.pgactive_wait_for_node_ready();
-
-If the command succeeds, you can see the following output:
-    
-        pgactive_wait_for_node_ready 
-    ------------------------------