初始化 pgactive 扩展功能 - Amazon Relational Database Service

初始化 pgactive 扩展功能

要在 RDS for PostgreSQL 数据库实例上初始化 pgactive 扩展功能,请将参数 rds.enable_pgactive 的值设置为 1,然后在数据库中创建扩展。这样做会自动开启参数 rds.logical_replicationtrack_commit_timestamp 并将 wal_level 的值设置为 logical

您必须拥有 rds_superuser 角色的权限才能执行这些任务。

您可以使用 AWS Management Console或 AWS CLI 创建所需的 RDS for PostgreSQL 数据库实例。以下步骤假设您的 RDS for PostgreSQL 数据库实例与自定义数据库参数组相关联。有关创建自定义数据库参数组的信息,请参阅Amazon RDS 的参数组

初始化 pgactive 扩展功能
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 RDS for PostgreSQL 数据库实例。

  3. 打开 RDS for PostgreSQL 数据库实例的配置选项卡。在实例详细信息中,找到数据库实例参数组链接。

  4. 选择此链接以打开与 RDS for PostgreSQL 数据库实例关联的自定义参数。

  5. 找到 rds.enable_pgactive 参数,并将其设置为 1 以初始化 pgactive 功能。

  6. 选择保存更改

  7. 在 Amazon RDS 控制台的导航窗格中,选择数据库

  8. 选择您的 RDS for PostgreSQL 数据库实例,然后从操作菜单中选择重启

  9. 确认数据库实例重启,以便您的更改生效。

  10. 当数据库实例可用时,您可以使用 psql 或任何其它 PostgreSQL 客户端连接到 RDS for PostgreSQL 数据库实例。

    以下示例假设 RDS for PostgreSQL 数据库实例有一个名为 postgres 的原定设置数据库。

    psql --host=mydb.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password=PASSWORD --dbname=postgres
  11. 要验证 pgactive 是否初始化,可以运行以下命令。

    postgres=>SELECT setting ~ 'pgactive' FROM pg_catalog.pg_settings WHERE name = 'shared_preload_libraries';

    如果 pgactiveshared_preload_libraries 中,则前面的命令将返回以下内容:

    ?column? ---------- t
初始化 pgactive 扩展功能

要使用 AWS CLI 设置 pgactive,请调用 modify-db-parameter-group 操作来修改自定义参数组中的某些参数,如以下过程所示。

  1. 使用以下 AWS CLI 命令将 rds.enable_pgactive 设置为 1,以初始化 RDS for PostgreSQL 数据库实例的 pgactive 功能。

    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. 使用以下 AWS CLI 命令重启 RDS for PostgreSQL 数据库实例,以便初始化 pgactive 库。

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. 当实例可用时,使用 psql 连接到 RDS for PostgreSQL 数据库实例

    psql --host=mydb.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=master user --password=PASSWORD --dbname=postgres
  4. 要验证 pgactive 是否初始化,可以运行以下命令。

    postgres=>SELECT setting ~ 'pgactive' FROM pg_catalog.pg_settings WHERE name = 'shared_preload_libraries';

    如果 pgactiveshared_preload_libraries 中,则前面的命令将返回以下内容:

    ?column? ---------- t