Share via


Uso de extensiones de PostgreSQL en el servidor de PostgreSQL habilitado para Azure Arc

PostgreSQL es idóneo cuando se usa con extensiones.

Nota:

Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Las actualizaciones más recientes están disponibles en las notas de la versión.

Extensiones admitidas

Las siguientes extensiones se implementan de forma predeterminada en los contenedores del servidor PostgreSQL habilitado para Azure Arc, algunas de ellas son extensiones contrib estándar:

  • 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

Se publicarán actualizaciones de esta lista a medida que evolucione con el tiempo.

Habilitación de extensiones en el servidor PostgreSQL habilitado para Arc

Puede crear un servidor PostgreSQL habilitado para Arc con cualquiera de las extensiones admitidas si pasa una lista separada por comas de extensiones al parámetro --extensions del comando create.

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

NOTA: las extensiones habilitadas se agregan a la configuración shared_preload_libraries. Las extensiones deben instalarse en la base de datos para poder usarlas. Para instalar una extensión determinada, debe ejecutar el comando CREATE EXTENSION. Este comando carga los objetos empaquetados en la base de datos.

Por ejemplo, conéctese a la base de datos y emita el siguiente comando de PostgreSQL para instalar la extensión pgaudit:

CREATE EXTENSION pgaudit;

Actualizar extensiones

Puede agregar o quitar extensiones de un servidor PostgreSQL habilitado para Arc existente.

Puede ejecutar el comando kubectl describe para obtener la lista actual de extensiones habilitadas:

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

Si hay extensiones habilitadas, la salida contiene una sección similar a la siguiente:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

Compruebe si la extensión se instala después de conectarse a la base de datos mediante la ejecución del siguiente comando de PostgreSQL:

select * from pg_extension;

Habilite las nuevas extensiones anexándolas a la lista existente o quite las extensiones de la lista existente. Pase la lista deseada al comando update. Por ejemplo, para agregar pgcrypto y quitar pg_partman del servidor en el ejemplo anterior:

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

Una vez actualizada la lista de extensiones permitidas. Conéctese a la base de datos e instale la extensión recién agregada mediante el siguiente comando:

CREATE EXTENSION pgcrypto;

Del mismo modo, para quitar una extensión de una base de datos existente, el comando DROP EXTENSION :

DROP EXTENSION pg_partman;

Mostrar la lista de extensiones instaladas

Conéctese a la base de datos con la herramienta cliente que prefiera y ejecute la consulta estándar de PostgreSQL:

select * from pg_extension;
  • Pruébelo. Empiece a trabajar rápidamente con el Inicio rápido de Azure Arc en Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) o en una máquina virtual de Azure.