初始化 pgactive 扩展功能
要在 RDS for PostgreSQL 数据库实例上初始化 pgactive
扩展功能,请将参数 rds.enable_pgactive
的值设置为 1
,然后在数据库中创建扩展。这样做会自动开启参数 rds.logical_replication
和 track_commit_timestamp
并将 wal_level
的值设置为 logical
。
您必须拥有 rds_superuser
角色的权限才能执行这些任务。
您可以使用 Amazon Web Services Management Console或 Amazon CLI 创建所需的 RDS for PostgreSQL 数据库实例。以下步骤假设您的 RDS for PostgreSQL 数据库实例与自定义数据库参数组相关联。有关创建自定义数据库参数组的信息,请参阅Amazon RDS 的参数组。
初始化 pgactive 扩展功能
登录 Amazon Web Services 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 扩展功能
要使用 Amazon CLI 设置 pgactive
,请调用 modify-db-parameter-group 操作来修改自定义参数组中的某些参数,如以下过程所示。
-
使用以下 Amazon 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
-
使用以下 Amazon 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