Extensiones de PostgreSQL en Azure Database for PostgreSQL - Hiperescala (Citus)

PostgreSQL ofrece la capacidad de ampliar 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');

Hiperescala (Citus) de Azure Database for PostgreSQL admite actualmente un subconjunto de extensiones clave, que se enumeran a continuación. No se admiten extensiones distintas de las que se incluyen. No puede crear su propia extensión con Azure Database for PostgreSQL.

Extensiones admitidas por Azure Database for PostgreSQL

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

Las versiones de cada extensión instaladas en un grupo de servidores a veces difieren en función de la versión de PostgreSQL (11, 12 o 13). 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
citus Base de datos distribuida de Citus. 9.5 10.0.5 10.2.1 10.2.1

Extensiones de tipos de datos

Extensión Descripción PG 11 PG 12 PG 13 PG 14
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
cube Proporciona un tipo de datos para los cubos multidimensionales. 1.4 1.4 1.4 1.5
hll Proporciona una estructura de datos HyperLogLog. 2.15 2.15 2.16 2.16
hstore Proporciona un tipo de datos para almacenar conjuntos de pares clave-valor. 1.5 1.6 1.7 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
lo Mantenimiento de objetos grandes. 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
seg Tipo de datos para representar los segmentos de línea o intervalos de punto flotante. 1.3 1.3 1.3 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.0 1.0 1.2.0 1.2.0
topn Tipo para JSONB de n principales. 2.3.1 2.3.1 2.4.0 2.4.0

Extensiones de búsqueda de texto completo

Extensión Descripción PG 11 PG 12 PG 13 PG 14
dict_int Proporciona una plantilla de diccionario de búsqueda de texto para números enteros. 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
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

Extensiones de funciones

Extensión Descripción PG 11 PG 12 PG 13 PG 14
autoinc Funciones para campos de incremento automático. 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
fuzzystrmatch Proporciona varias funciones para determinar las similitudes y la distancia entre las cadenas. 1.1 1.1 1.1 1.1
insert_username Funciones para el seguimiento de quién cambió una tabla. 1.0 1.0 1.0 1.0
intagg El agregador y enumerador de enteros (obsoleto). 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
moddatetime Funciones para el seguimiento de la hora de última modificación. 1.0 1.0 1.0 1.0
pg_partman Administra las tablas con particiones por hora o identificador. 4.5.1 4.5.1 4.5.1 4.5.1
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
pgcrypto Proporciona funciones de cifrado. 1.3 1.3 1.3 1.3
refint Funciones para implementar la integridad referencial (obsoleto). 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
tcn Desencadenó notificaciones de cambio. 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

Extensiones de tipos de índices

Extensión Descripción PG 11 PG 12 PG 13 PG 14
bloom Método de acceso de bloom: índice basado en archivos de firma. 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
btree_gist Proporciona clases de operador de índice de GiST que implementan el árbol B. 1.5 1.5 1.5 1.6

Extensiones de lenguaje

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

Extensiones variadas

Extensión Descripción PG 11 PG 12 PG 13 PG 14
adminpack Funciones administrativas para PostgreSQL. 2.0 2.0 2.1 2.1
amcheck Funciones de comprobación de la integridad de la relación. 1,1 1,2 1.2 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
file_fdw Contenedor de datos externo para el acceso de archivos planos. 1.0 1.0 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
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
pg_cron Programador de trabajos para PostgreSQL. 1.3 1.3 1.3 1.4
pg_freespacemap Examine la asignación de espacio libre (FSM). 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
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
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
pgrowlocks Proporciona un medio para mostrar información de bloqueo a nivel de fila. 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
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
sslinfo Información sobre los certificados TLS/SSL. 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
tsm_system_time Método TABLESAMPLE que acepta el tiempo en milisegundos como un límite. 1.0 1.0 1.0 1.0
xml2 Consulta de XPath y XSLT. 1.1 1.1 1.1 1.1

Extensiones de PostGIS

Extensión Descripción PG 11 PG 12 PG 13 PG 14
PostGIS, postgis_topology, postgis_tiger_geocoder, postgis_sfcgal Objetos espaciales y geográficos para PostgreSQL. 2.5.5 3.0.3 3.0.3 3.1.4
address_standardizer, address_standardizer_data_us 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. 2.5.5 3.0.3 3.0.3 3.1.4
postgis_sfcgal Funciones de PostGIS SFCGAL. 2.5.5 3.0.3 3.0.3 3.1.4
postgis_tiger_geocoder Geocoder de PostGIS tiger y geocoder inverso. 2.5.5 3.0.3 3.0.3 3.1.4
postgis_topology Funciones y tipos espaciales de topología PostGIS. 2.5.5 3.0.3 3.0.3 3.1.4

pg_stat_statements

La extensión pg_stat_statements está precargada en cada servidor de Azure Database 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. Esta configuración es configurable como un parámetro de servidor a través de Azure Portal o la CLI de Azure.

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 este 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 usar estas extensiones para conectarse entre servidores de Azure Database for PostgreSQL o grupos de servidores de Hiperescala (Citus), establezca Permitir que los servicios y recursos de Azure accedan a este grupo de servidores (o servidor) en Activado. 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 grupo de servidores se encuentra en la página Azure Portal del grupo de servidores de Hiperescala (Citus) en Redes. Actualmente no se admiten más conexiones salientes desde servidores de Azure Database for PostgreSQL e Hiperescala (Citus),excepto las conexiones a otros servidores de Azure Database for PostgreSQL y grupos de servidores de Hiperescala (Citus).