Extensiones de PostgreSQL en Azure Cosmos DB for PostgreSQL

SE APLICA A: Azure Cosmos DB for PostgreSQL (con tecnología de la extensión de base de datos de Citus en PostgreSQL)

PostgreSQL amplía la funcionalidad de la base de datos mediante extensiones. Las extensiones permiten agrupar varios objetos SQL relacionados en un solo paquete que se puede cargar o quitar de la base de datos con un solo comando. Después de cargarse en la base de datos, las extensiones pueden funcionar como características integradas. Para más información sobre las extensiones de PostgreSQL, consulte Empaquetado de objetos relacionados en una extensión.

Uso de extensiones de PostgreSQL

Para poder usar las extensiones de PostgreSQL, es preciso que estén instaladas en su base de datos. Para instalar una extensión determinada, ejecute el comando CREATE EXTENSION desde la herramienta psql para cargar los objetos empaquetados en la base de datos.

Nota

Si se produce un error en CREATE EXTENSION con un error de permiso denegado, pruebe la función create_extension() en su lugar. Por ejemplo:

SELECT create_extension('postgis');

Para quitar una extensión instalada de esta manera, use drop_extension().

Azure Cosmos DB for PostgreSQL actualmente admite un subconjunto de extensiones de claves, como se enumeran aquí. No se admiten extensiones distintas de las que se incluyen. No puede crear su propia extensión con Azure Cosmos DB for PostgreSQL.

Extensiones admitidas por Azure Cosmos DB for PostgreSQL

En las siguientes tablas se enumeran las extensiones estándar de PostgreSQL que Azure Cosmos DB for PostgreSQL admite. Esta información también está disponible al ejecutar SELECT * FROM pg_available_extensions;.

Las versiones de cada extensión instaladas en un clúster a veces difieren en función de la versión de PostgreSQL (11, 12, 13, 14, 15 o 16). En las tablas se muestran las versiones de extensión por versión de base de datos.

Extensión de Citus

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Base de datos distribuida de Citus. 9.5 10.2 11.3 12.1 12.1 12.1

Extensiones de tipos de datos

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext Proporciona un tipo de cadena de caracteres que no distingue entre mayúsculas y minúsculas. 1.5 1.6 1.6 1.6 1.6 1.6
cube Proporciona un tipo de datos para los cubos multidimensionales. 1.4 1.4 1.4 1.5 1.5 1.5
hll Proporciona una estructura de datos HyperLogLog. 2,18 2,18 2,18 2,18 2,18 2,18
hstore Proporciona un tipo de datos para almacenar conjuntos de pares clave-valor. 1.5 1.6 1.7 1.8 1.8 1.8
isn Proporciona tipos de datos para los estándares internacionales de numeración de productos. 1.2 1.2 1.2 1.2 1.2 1.2
lo Mantenimiento de objetos grandes. 1.1 1.1 1.1 1.1 1.1 1.1
ltree Proporciona un tipo de datos para las estructuras de árbol jerárquicas. 1.1 1.1 1,2 1.2 1.2 1.2
seg Tipo de datos para representar los segmentos de línea o intervalos de punto flotante. 1.3 1.3 1.3 1.4 1.4 1.4
tdigest Tipo de datos para la acumulación en línea de estadísticas basadas en rangos, como cuantiles y medias truncadas 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn Tipo para JSONB de n principales. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

Extensiones de búsqueda de texto completo

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int Proporciona una plantilla de diccionario de búsqueda de texto para números enteros. 1.0 1,0 1,0 1,0 1,0 1.0
dict_xsyn Plantilla de diccionario de búsqueda de texto para el procesamiento de sinónimos extendido. 1.0 1,0 1,0 1,0 1,0 1.0
unaccent Un diccionario de búsqueda de texto que quita los acentos (signos diacríticos) de lexemas. 1.1 1.1 1.1 1.1 1.1 1.1

Extensiones de funciones

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc Funciones para campos de incremento automático. 1.0 1,0 1,0 1,0 1,0 1.0
earthdistance Proporciona un medio para calcular distancias de círculo máximo en la superficie de la Tierra. 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch Proporciona varias funciones para determinar las similitudes y la distancia entre las cadenas. 1.1 1.1 1.1 1.1 1.1 1,2
insert_username Funciones para el seguimiento de quién cambió una tabla. 1.0 1,0 1,0 1,0 1,0 1.0
intagg El agregador y enumerador de enteros (obsoleto). 1.1 1.1 1.1 1.1 1.1 1.1
intarray Proporciona funciones y operadores para manipular matrices de enteros sin valores nulos. 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime Funciones para el seguimiento de la hora de última modificación. 1.0 1,0 1,0 1,0 1,0 1,0
orafce Funciones y operadores que emulan un subconjunto de funciones y paquetes desde Oracle RDBMS. 4,9 4,9 4,9
pg_partman Administra las tablas con particiones por hora o identificador. 4.7.4 4.7.4 4.7.4 5.0.0 5.0.0 5.0.0
pg_surgery Funciones para realizar una cirugía en una relación dañada. 1.0 1,0 1.0
pg_trgm Proporciona funciones y operadores para determinar la similitud del texto alfanumérico basado en la coincidencia de trigrama. 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto Proporciona funciones de cifrado. 1.3 1.3 1.3 1.3 1.3 1.3
refint Funciones para implementar la integridad referencial (obsoleto). 1.0 1,0 1,0 1,0 1,0 1.0
tablefunc Proporciona funciones que manipulan la totalidad del contenido de las tablas, incluidas tablas de referencias cruzadas. 1.0 1,0 1,0 1,0 1,0 1.0
tcn Desencadenó notificaciones de cambio. 1.0 1,0 1,0 1,0 1,0 1.0
timetravel Funciones para implementar el viaje en el tiempo. 1,0
uuid-ossp Genera identificadores únicos universales (UUID). 1.1 1.1 1.1 1.1 1.1 1.1

Extensiones de tipos de índices

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Método de acceso de bloom: índice basado en archivos de firma. 1.0 1,0 1,0 1,0 1,0 1.0
btree_gin Proporciona clases de operador GIN de ejemplo que implementan el comportamiento similar al del árbol B para determinados tipos de datos. 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist Proporciona clases de operador de índice de GiST que implementan el árbol B. 1.5 1.5 1.5 1.6 1.7 1.7

Extensiones de lenguaje

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql Lenguaje de procedimientos que puede cargar PL/pgSQL. 1.0 1,0 1,0 1,0 1,0 1.0

Extensiones variadas

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck Funciones de comprobación de la integridad de la relación. 1,1 1,2 1.2 1.3 1.3 1.3
dblink Módulo que admite conexiones a otras bases de datos de PostgreSQL desde una sesión de base de datos. Consulte la sección "dblink y postgres_fdw" para información sobre esta extensión. 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot Permite la inspección del estado del servidor que se usa para implementar old_snapshot_threshold. 1.0 1.0
pageinspect Inspeccione el contenido de páginas de bases de datos a un nivel bajo. 1.7 1.7 1.8 1,9 1.11 1.12
pg_azure_storage Integración de Azure para PostgreSQL. 1.3 1.3 1.3 1.3
pg_buffercache Proporciona un medio para examinar lo que sucede en la caché del búfer compartido en tiempo real. 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron Programador de trabajos para PostgreSQL. 1.5 1.5 1.5 1.5 1.5 1.5
pg_freespacemap Examine la asignación de espacio libre (FSM). 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm Proporciona una manera de cargar datos de relación en la caché del búfer. 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements Proporciona un medio para realizar el seguimiento de las estadísticas de ejecución de todas las instrucciones SQL ejecutadas por un servidor. Consulte la sección "pg_stat_statements" para información sobre esta extensión. 1.6 1.7 1.8 1,9 1.10 1.10
pg_visibility Permite examinar el mapa de visibilidad y la información de visibilidad de nivel de página. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks Proporciona un medio para mostrar información de bloqueo a nivel de fila. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Proporciona un medio para mostrar estadísticas de nivel de tupla. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw Se trata de un contenedor de datos externo utilizado para tener acceso a los datos almacenados en los servidores externos de PostgreSQL. Consulte la sección "dblink y postgres_fdw" para información sobre esta extensión. 1.0 1,0 1.0 1.1 1.1 1.1
sslinfo Información sobre los certificados TLS/SSL. 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows Método TABLESAMPLE que acepta el número de filas como un límite. 1.0 1,0 1,0 1,0 1,0 1.0
tsm_system_time Método TABLESAMPLE que acepta el tiempo en milisegundos como un límite. 1.0 1,0 1,0 1,0 1,0 1.0
xml2 Consulta de XPath y XSLT. 1.1 1.1 1.1 1.1 1.1 1.1

Extensión pgvector

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Búsqueda de similitud de vectores de código abierto para Postgres 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1

Extensiones de PostGIS

Extensión Descripción PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS Objetos espaciales y geográficos para PostgreSQL. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
address_standardizer Se utilizan para analizar una dirección en los elementos que la componen. Se utilizan para admitir el paso de normalización de la dirección de geocodificación. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_sfcgal Funciones de PostGIS SFCGAL. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_topology Funciones y tipos espaciales de topología PostGIS. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0

pg_stat_statements

La extensión pg_stat_statements está cargada previamente en cada servidor de Azure Cosmos DB for PostgreSQL para proporcionarle un medio de seguimiento de las estadísticas de ejecución de las instrucciones SQL.

El valor pg_stat_statements.track controla qué instrucciones cuenta la extensión. El valor predeterminado es top, lo que significa que se realiza el seguimiento de todas las instrucciones emitidas directamente por los clientes. Los otros dos niveles de seguimiento son none y all.

Hay un equilibrio entre la información de ejecución de consulta que proporciona pg_stat_statements y el efecto en el rendimiento del servidor al registrar cada instrucción SQL. Si no está usando activamente la extensión pg_stat_statements, le recomendamos que establezca pg_stat_statements.track en none. Tenga en cuenta que algunos servicios de supervisión de terceros pueden basarse en pg_stat_statements para entregar información de rendimiento de consultas, por lo que debe confirmar si es su caso o no.

Puede usar dblink y postgres_fdw para conectarse desde un servidor PostgreSQL a otro, o a otra base de datos en el mismo servidor. El servidor de recepción debe permitir conexiones del servidor de envío a través de su firewall. Para utilizar estas extensiones para conectarse entre clústeres de Azure Cosmos DB for PostgreSQL con acceso público, active la opción Permitir que los servicios y recursos de Azure accedan a este clúster (o servidor). También debe activar este valor si desea usar las extensiones para volver en bucle al mismo servidor. La opción Permitir que los servicios y recursos de Azure accedan a este clúster se encuentra en la página Azure Portal del clúster en Redes. Actualmente, no se admiten conexiones salientes desde Azure Cosmos DB for PostgreSQL.

extensión orafce

Las funciones utl_file están deshabilitadas en la extensión orafce.

Pasos siguientes