如何使用 Azure Database for PostgreSQL 的 PostgreSQL 扩展
适用于: Azure Database for PostgreSQL 灵活服务器
Azure Database for PostgreSQL 灵活服务器让你可以使用扩展来扩展数据库功能的能力。 扩展在单个包中捆绑多个相关 SQL 对象,可以使用命令在数据库中加载或删除该包。 将包加载到数据库中后,扩展会如同内置功能一样运行。
允许扩展
在 Azure Database for PostgreSQL 灵活服务器中安装扩展之前,必须允许列出这些扩展以供使用。
使用 Azure 门户:
加载库
shared_preload_libraries
是一个服务器配置参数,用于确定 Azure Database for PostgreSQL 灵活服务器启动时必须加载哪些库。 必须通过此参数加载使用共享内存的所有库。 如果需要将扩展添加到共享预加载库,请执行以下步骤:
使用 Azure 门户:
创建扩展
将某个扩展加入允许列表后,如果该扩展需要它,则还可以将其加入 shared_load_libraries
,在要使用它的每个数据库中创建或安装它。
若要创建扩展,用户必须是
azure_pg_admin
角色的成员。运行 CREATE EXTENSION 命令以创建或安装特定扩展。 此命令将打包的对象加载到数据库中。
注意
Azure Database for PostgreSQL 灵活服务器中提供的第三方扩展是开源许可代码。 我们不提供任何具有高级或专有许可模型的第三方扩展或扩展版本。
Azure Database for PostgreSQL 灵活服务器实例支持关键 PostgreSQL 扩展的子集,如按名称列出的支持扩展或按 PostgreSQL 的版本列出的支持扩展中所列。 还可以通过运行 SHOW azure.extensions;
获取此信息。 Azure Database for PostgreSQL 灵活服务器不支持未包含在这些列表中的扩展。 不能在 Azure Database for PostgreSQL 灵活服务器中创建或加载自己的扩展。
删除扩展
若要删除扩展,请先确保将其加入允许列表。
若要删除扩展,用户必须是
azure_pg_admin
角色的成员。运行 DROP EXTENSION 命令以删除或卸载特定扩展。 此命令将从数据库中删除在扩展中打包的对象。
更新扩展
若要将已安装的扩展更新到 Azure 支持的最新发布版本,请使用以下 SQL 命令:
ALTER EXTENSION <extension_name> UPDATE;
此命令允许用户手动升级到 Azure 批准的最新版本,简化了数据库扩展的管理,增强了兼容性和安全性。
限制
虽然更新扩展很简单,但也存在一定的限制:
特定版本选择:此命令不支持更新到扩展的中间版本。
- 它会不断更新最新的可用版本。
降级:不支持将扩展降级到以前的版本。 如果需要降级,则可能需要支持部门的帮助,具体取决于以前的版本的可用性。
查看已安装的扩展
若要列出当前安装在数据库上的扩展,请使用以下 SQL 命令:
SELECT * FROM pg_extension;
可能的错误
Azure Database for PostgreSQL 中的“azure_pg_admin”用户不允许将扩展“%s”加入允许列表
运行引用未加入允许列表的扩展的 CREATE EXTENSION
或 DROP EXTENSION
命令时,或者运行命令所在的 Azure Database 灵活服务器尚不支持的扩展时,会出现此错误。
只有“azure_pg_admin”成员才允许使用 CREATE EXTENSION
当运行 CREATE EXTENSION
命令的用户不是 azure_pg_admin
角色的成员时,将发生此错误。
只有“azure_pg_admin”成员才允许使用 DROP EXTENSION
当运行 DROP EXTENSION
命令的用户不是 azure_pg_admin
角色的成员时,将发生此错误。