在 RDS for PostgreSQL 数据库实例中设置可信语言扩展
以下步骤假设您的 RDS for PostgreSQL 数据库实例与自定义数据库参数组相关联。您可以使用 Amazon Web Services Management Console或 Amazon CLI 来执行这些步骤。
当您在 RDS for PostgreSQL 数据库实例中设置可信语言扩展时,您可以将其安装在特定的数据库中,供对该数据库拥有权限的数据库用户使用。
设置可信语言扩展
使用作为 rds_superuser 组(角色)成员的账户执行以下步骤。
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 RDS for PostgreSQL 数据库实例。
-
打开 的配置选项卡。RDS for PostgreSQL 数据库实例的 Configuration(配置)选项卡。在实例详细信息中,找到 Parameter group(参数组)链接。
-
选择此链接以打开与您的 RDS for PostgreSQL 数据库实例关联的自定义参数。
-
在 Parameters(参数)搜索字段中,键入
shared_pre以查找shared_preload_libraries参数。 -
选择 Edit parameters(编辑参数)以访问属性值。
-
将
pg_tle添加到 Values(值)字段的列表中。使用逗号分隔值列表中的项目。
重启 RDS for PostgreSQL 数据库实例,以使对
shared_preload_libraries参数的更改生效。当实例可用时,验证
pg_tle是否已初始化。使用psql连接到 RDS for PostgreSQL 数据库实例,然后运行以下命令。SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)初始化
pg_tle扩展后,您现在可以创建此扩展了。CREATE EXTENSION pg_tle;可以使用以下
psql元命令验证扩展是否已安装。labdb=>\dxList of installed extensions Name | Version | Schema | Description ---------+---------+------------+-------------------------------------------- pg_tle | 1.0.1 | pgtle | Trusted-Language Extensions for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language在设置 RDS for PostgreSQL 数据库实例时,将
pgtle_admin角色授予为其创建的主用户名。如果您接受了默认值,则它就是postgres。labdb=>GRANT pgtle_admin TO postgres;GRANT ROLE您可以使用
psql元命令来验证授权是否已完成,如以下示例中所示。输出中仅显示pgtle_admin和postgres角色。有关更多信息,请参阅了解 rds_superuser 角色。labdb=>\duList of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...使用
\q元命令关闭psql会话。\q
要开始创建 TLE 扩展,请参阅 示例:使用 SQL 创建可信语言扩展。
在使用 CLI 命令时,您可以通过将您的 Amazon CLI 配置为使用默认 Amazon Web Services 区域来避免指定 --region 参数。有关更多信息,请参阅《Amazon Command Line Interface 用户指南》中的配置基础知识。
设置可信语言扩展
使用 modify-db-parameter-group Amazon CLI 命令将
pg_tle添加到shared_preload_libraries参数。aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --regionaws-region-
使用 reboot-db-instance Amazon CLI 命令重启 RDS for PostgreSQL 数据库实例并初始化
pg_tle库。aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region 当实例可用时,您可以验证
pg_tle是否已初始化。使用psql连接到 RDS for PostgreSQL 数据库实例,然后运行以下命令。SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)初始化
pg_tle后,您现在可以创建扩展了。CREATE EXTENSION pg_tle;在设置 RDS for PostgreSQL 数据库实例时,将
pgtle_admin角色授予为其创建的主用户名。如果您接受了默认值,则它就是postgres。GRANT pgtle_admin TO postgres;GRANT ROLE按如下方式关闭
psql会话。labdb=>\q
要开始创建 TLE 扩展,请参阅 示例:使用 SQL 创建可信语言扩展。