如何使用 Azure Database for PostgreSQL 的 PostgreSQL 扩展

适用于: Azure Database for PostgreSQL 灵活服务器

Azure Database for PostgreSQL 灵活服务器让你可以使用扩展来扩展数据库功能的能力。 扩展在单个包中捆绑多个相关 SQL 对象,可以使用命令在数据库中加载或删除该包。 将包加载到数据库中后,扩展会如同内置功能一样运行。

允许扩展

在 Azure Database for PostgreSQL 灵活服务器中安装扩展之前,必须允许列出这些扩展以供使用。

使用 Azure 门户

  1. 选择 Azure Database for PostgreSQL 灵活服务器实例。

  2. 从资源菜单的“设置”部分下,选择“服务器参数”。

  3. 搜索 azure.extensions 参数。

  4. 选择要允许的扩展。

    允许列表的屏幕截图。

加载库

shared_preload_libraries 是一个服务器配置参数,用于确定 Azure Database for PostgreSQL 灵活服务器启动时必须加载哪些库。 必须通过此参数加载使用共享内存的所有库。 如果需要将扩展添加到共享预加载库,请执行以下步骤:

使用 Azure 门户

  1. 选择 Azure Database for PostgreSQL 灵活服务器实例。

  2. 从资源菜单的“设置”部分下,选择“服务器参数”。

  3. 搜索 shared_preload_libraries 参数。

  4. 选择要添加的库。

    共享库的屏幕截图。

可以通过 CLI 参数集命令设置 shared_preload_libraries

az postgres flexible-server parameter set --resource-group <resource_group> --server-name <server> --subscription <subscription_id> --name shared_preload_libraries --value <extension_name>,<extension_name>

创建扩展

将扩展添加到允许列表并加载它们后,它们必须安装在要使用的每个数据库中。

  1. 若要创建扩展,用户必须是 azure_pg_admin 角色的成员。 azure_pg_admin 角色的成员可以向其他用户授予创建扩展的权限。

  2. 运行 CREATE EXTENSION 命令以安装特定扩展。 此命令将打包的对象加载到数据库中。

注意

Azure Database for PostgreSQL 灵活服务器中提供的第三方扩展是开源许可代码。 我们不提供任何具有高级或专有许可模型的第三方扩展或扩展版本。

Azure Database for PostgreSQL 灵活服务器实例支持一部分重要 PostgreSQL 扩展,如下表中所列。 还可以通过运行 SHOW azure.extensions; 获取此信息。 Azure Database for PostgreSQL 灵活服务器不支持本文档中未列出的扩展。 不能在 Azure Database for PostgreSQL 灵活服务器中创建或加载你的扩展。

升级 PostgreSQL 扩展

简单的命令允许就地升级数据库扩展。 此功能使客户能够自动将其第三方扩展更新到最新版本,无需手动操作即可让系统始终是最新的和安全的。

更新扩展

若要将已安装的扩展更新到 Azure 支持的最新发布版本,请使用以下 SQL 命令:

ALTER EXTENSION <extension_name> UPDATE;

此命令允许用户手动升级到 Azure 批准的最新版本,简化了数据库扩展的管理,增强了兼容性和安全性。

已安装的扩展

若要列出当前安装在数据库上的扩展,请使用以下 SQL 命令:

SELECT * FROM pg_extension;

查看可用扩展的列表。

限制

虽然更新扩展很简单,但也存在一定的限制:

  • 特定版本选择:此命令不支持更新到扩展的中间版本。

  • 降级:不支持将扩展降级到以前的版本。 如果需要降级,则可能需要支持部门的帮助,具体取决于以前的版本的可用性。