初始化 pgactive 扩展功能
要在 RDS for PostgreSQL 数据库实例上初始化 pgactive
扩展功能,请将参数 rds.enable_pgactive
的值设置为 1
,然后在数据库中创建扩展。这样做会自动开启参数 rds.logical_replication
和 track_commit_timestamp
并将 wal_level
的值设置为 logical
。
您必须拥有 rds_superuser
角色的权限才能执行这些任务。
您可以使用 AWS Management Console或 AWS CLI 创建所需的 RDS for PostgreSQL 数据库实例。以下步骤假设您的 RDS for PostgreSQL 数据库实例与自定义数据库参数组相关联。有关创建自定义数据库参数组的信息,请参阅Amazon RDS 的参数组。
初始化 pgactive 扩展功能
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 RDS for PostgreSQL 数据库实例。
-
打开 RDS for PostgreSQL 数据库实例的配置选项卡。在实例详细信息中,找到数据库实例参数组链接。
-
选择此链接以打开与 RDS for PostgreSQL 数据库实例关联的自定义参数。
-
找到
rds.enable_pgactive
参数,并将其设置为1
以初始化pgactive
功能。 -
选择保存更改。
-
在 Amazon RDS 控制台的导航窗格中,选择数据库。
-
选择您的 RDS for PostgreSQL 数据库实例,然后从操作菜单中选择重启。
-
确认数据库实例重启,以便您的更改生效。
-
当数据库实例可用时,您可以使用
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
-
要验证 pgactive 是否初始化,可以运行以下命令。
postgres=>
SELECT setting ~ 'pgactive' FROM pg_catalog.pg_settings WHERE name = 'shared_preload_libraries';
如果
pgactive
在shared_preload_libraries
中,则前面的命令将返回以下内容:?column? ---------- t
初始化 pgactive 扩展功能
要使用 AWS CLI 设置 pgactive
,请调用 modify-db-parameter-group 操作来修改自定义参数组中的某些参数,如以下过程所示。
-
使用以下 AWS CLI 命令将
rds.enable_pgactive
设置为1
,以初始化 RDS for PostgreSQL 数据库实例的pgactive
功能。postgres=>
aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name
\ --parameters "ParameterName=rds.enable_pgactive,ParameterValue=1,ApplyMethod=pending-reboot" \ --regionaws-region
-
使用以下 AWS CLI 命令重启 RDS for PostgreSQL 数据库实例,以便初始化
pgactive
库。aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
-
当实例可用时,使用
psql
连接到 RDS for PostgreSQL 数据库实例。psql --host=
mydb.111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=master user
--password=PASSWORD
--dbname=postgres
-
要验证 pgactive 是否初始化,可以运行以下命令。
postgres=>
SELECT setting ~ 'pgactive' FROM pg_catalog.pg_settings WHERE name = 'shared_preload_libraries';
如果
pgactive
在shared_preload_libraries
中,则前面的命令将返回以下内容:?column? ---------- t