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.
dblink y postgres_fdw
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).