Updated on 2024-05-31 GMT+08:00

rds_hwdrs_ddl

Introduction

RDS for PostgreSQL supports the rds_hwdrs_ddl extension. This extension can be used when you do not have sufficient permissions to create objects for PostgreSQL incremental DDL synchronization by creating triggers and functions.

Supported Versions

This extension is available to RDS for PostgreSQL 9.5 to 15.

You can run the following SQL statement to check whether your DB instance supports this extension:

SELECT * FROM pg_available_extension_versions WHERE name = 'rds_hwdrs_ddl';

To see more extensions supported by RDS for PostgreSQL, go to Supported Plugins.

Extension Installation and Uninstallation

  • Installing the extension
    SELECT control_extension('create', 'rds_hwdrs_ddl');

    After the extension is installed, you can view the objects created by the extension in the system view.

    -- Viewing the hwdrs_ddl_info table
    select relname, relowner::regrole, relacl from pg_class where relname = 'hwdrs_ddl_info';
        relname     | relowner |            relacl             
    ----------------+----------+-------------------------------
     hwdrs_ddl_info | root     | {root=arwdDxt/root,=ard/root}
    
    -- Viewing the hwdrs_ddl_function function
    select proname, proowner::regrole from pg_proc where proname = 'hwdrs_ddl_function';
          proname       | proowner 
    --------------------+----------
     hwdrs_ddl_function | root
    (1 row)
    -- Viewing the hwdrs_ddl_event trigger
    select evtname, evtevent from pg_event_trigger;
         evtname     |    evtevent     
    -----------------+-----------------
     hwdrs_ddl_event | ddl_command_end
    (1 row)
  • Uninstalling the extension
    SELECT control_extension('drop', 'rds_hwrds_ddl');

For more information, see Installing and Uninstalling a Plugin on the RDS Console and Installing and Uninstalling a Plugin Using SQL Commands.

How to Use

This extension creates all objects required for PostgreSQL incremental DDL synchronization by creating triggers and functions and grants corresponding permissions. You only need to install this extension to perform synchronization tasks.

To use this extension to complete a DDL synchronization task, perform the following steps:

  1. Install the extension.
  2. Create a synchronization task from PostgreSQL to RDS for PostgreSQL.
  3. After the synchronization task is complete, uninstall the extension to delete the hwdrs_ddl_info table, the hwdrs_ddl_function function, and the hwdrs_ddl_event trigger.