你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在已启用 Azure Arc 的 PostgreSQL 服务器中使用 PostgreSQL 扩展

如果将其用于扩展,PostgreSQL 的效果最佳。

[!INCLUDE [azure-arc-data-preview](./includes/azure-arc-data-preview.md]

支持的扩展

默认情况下,以下扩展已经部署到已启用 Azure Arc 的 PostgreSQL 服务器的容器中,其中一些是标准 contrib 扩展:

  • address_standardizer_data_us 3.3.1
  • adminpack 2.1
  • amcheck 1.3
  • autoinc 1
  • bloom 1
  • btree_gin 1.3
  • btree_gist 1.6
  • citext 1.6
  • cube 1.5
  • dblink 1.2
  • dict_int 1
  • dict_xsyn 1
  • earthdistance 1.1
  • file_fdw 1
  • fuzzystrmatch 1.1
  • hstore 1.8
  • hypopg 1.3.1
  • insert_username 1
  • intagg 1.1
  • intarray 1.5
  • isn 1.2
  • lo 1.1
  • ltree 1.2
  • moddatetime 1
  • old_snapshot 1
  • orafce 4
  • pageinspect 1.9
  • pg_buffercache 1.3
  • pg_cron 1.4-1
  • pg_freespacemap 1.2
  • pg_partman 4.7.1
  • pg_prewarm 1.2
  • pg_repack 1.4.8
  • pg_stat_statements 1.9
  • pg_surgery 1
  • pg_trgm 1.6
  • pg_visibility 1.2
  • pgaudit 1.7
  • pgcrypto 1.3
  • pglogical 2.4.2
  • pglogical_origin 1.0.0
  • pgrouting 3.4.1
  • pgrowlocks 1.2
  • pgstattuple 1.5
  • plpgsql 1
  • postgis 3.3.1
  • postgis_raster 3.3.1
  • postgis_tiger_geocoder 3.3.1
  • postgis_topology 3.3.1
  • postgres_fdw 1.1
  • refint 1
  • seg 1.4
  • sslinfo 1.2
  • tablefunc 1
  • tcn 1
  • timescaledb 2.8.1
  • tsm_system_rows 1
  • tsm_system_time 1
  • unaccent 1.1

对此列表进行的更新将随着时间的推移而公布。

在已启用 Arc 的 PostgreSQL 服务器中启用扩展

你可以创建一个已启用 Arc 的 PostgreSQL 服务器,并从中启用任何支持的扩展,方法是将逗号分隔的扩展列表传递给 create 命令的 --extensions 参数。

az postgres server-arc create -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pg_partman" --use-k8s

注意:已启用的扩展将添加到配置 shared_preload_libraries。 必须先在数据库中安装扩展,然后才能使用它们。 若要安装特定扩展,应运行 CREATE EXTENSION 命令。 此命令将打包的对象加载到数据库中。

例如,连接到数据库并发出以下 PostgreSQL 命令以安装 pgaudit 扩展:

CREATE EXTENSION pgaudit;

更新扩展

可以从已启用 Arc 的现有 PostgreSQL 服务器添加或删除扩展。

可以运行 kubectl describe 命令来获取已启用的扩展的当前列表:

kubectl describe postgresqls <server-name> -n <namespace>

如果已启用扩展,则输出包含如下所示的部分:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

通过运行以下 PostgreSQL 命令检查连接到数据库后是否安装了扩展:

select * from pg_extension;

通过将新扩展追加到现有列表中来启用它们,或者通过从现有列表中删除扩展来删除它们。 将所需列表传递给更新命令。 例如,若要在上面的示例中添加 pgcrypto 并从服务器中删除 pg_partman

az postgres server-arc update -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pgrypto" --use-k8s

更新允许的扩展列表后。 通过以下命令连接到数据库并安装新添加的扩展:

CREATE EXTENSION pgcrypto;

同样,若要从现有数据库中删除扩展,请发出命令 DROP EXTENSION

DROP EXTENSION pg_partman;

显示已安装扩展的列表

使用所选的客户端工具连接到你的数据库,然后运行标准 PostgreSQL 查询:

select * from pg_extension;
  • 请试用。在 Azure Kubernetes 服务 (AKS)、AWS Elastic Kubernetes Service (EKS)、Google Cloud Kubernetes Engine (GKE) 或 Azure VM 中通过 Azure Arc 快速入门快速开始