En esta sección se incluye información sobre cómo configurar las extensiones de base de datos que admite el servicio de base de datos.
Instalar una extensión
Las extensiones solo se pueden instalar en el clúster de base de datos principal. Una vez instalada, la extensión se replica en las instancias en espera.
La mayoría de las extensiones se pueden instalar directamente conectándose al clúster de base de datos y ejecutando el comando CREATE EXTENSION.
Sin embargo, hay algunas extensiones que requieren una configuración adicional. Por lo tanto, los usuarios deben definir la marca de base de datos, "dbs.enable_<extension-name>": "on" conectarse al clúster de base de datos y ejecutar el comando CREATE EXTENSION.
Solo los usuarios de la base de datos que sean miembros del rol alloydbsuperuser pueden ejecutar el comando CREATE EXTENSION. De forma predeterminada, esto incluye al usuario dbsadmin.
Eliminar una extensión
Para eliminar una extensión, el usuario de la base de datos que intente hacerlo debe ser el propietario de la extensión. Esto implica que solo el usuario de la base de datos que creó la extensión inicialmente tiene autoridad para eliminarla. Ningún otro usuario de la base de datos puede eliminar la extensión, lo que garantiza una gestión controlada de las extensiones.
Extensiones de base de datos admitidas
En la siguiente tabla se indican todas las extensiones admitidas.
| Extensión | Descripción |
|---|---|
| alloydb_ai_nl | Extensión de Google para AlloyDB AI y lenguaje natural |
| amcheck | Proporciona funciones para verificar la coherencia lógica de la estructura de las relaciones, lo que permite que la aplicación pg_amcheck compruebe si hay daños. |
| anon | Enmascara o sustituye la información de identificación personal (IIP) o los datos sensibles de una base de datos PostgreSQL. |
| autonic | Proporciona funciones para incrementar automáticamente los campos |
| bloom | Proporciona un método para acceder a los índices basados en filtros de Bloom. Un filtro de Bloom es una estructura de datos que ocupa poco espacio y que puedes usar para comprobar si un elemento pertenece a un conjunto. |
| btree_gin | Proporciona clases de operadores GIN de ejemplo que implementan un comportamiento equivalente al de un árbol B. |
| btree_gist | Proporciona clases de operadores de índice GiST que implementan un comportamiento equivalente al de un árbol B. |
| citext | Proporciona un tipo de cadena de caracteres que no distingue entre mayúsculas y minúsculas: citext. |
| cube | Implementa un tipo de datos de cubo para representar cubos multidimensionales. |
| dblink | Proporciona funciones para conectarse a bases de datos PostgreSQL desde una sesión de base de datos |
| dict_int | Plantilla de diccionario complementaria para la búsqueda de texto completo que controla la indexación de números enteros. |
| dict_xsyn | Plantilla de diccionario de búsqueda de texto para el procesamiento de sinónimos ampliado |
| earthdistance | Proporciona dos métodos para calcular las distancias de círculo máximo en la superficie de la Tierra. |
| fuzzystrmatch | Proporciona varias funciones para determinar las similitudes y la distancia entre cadenas. |
| google_columnar_engine | Proporciona la función de motor en columnas de AlloyDB, que gestiona las cargas de trabajo de HTAP (procesamiento de transacciones analítico e híbrido) y OLAP (procesamiento analítico en línea) de forma muy eficiente. |
| google_db_advisor | Proporciona la función de asesor de índices de AlloyDB, que recomienda índices para acelerar el procesamiento de consultas. |
| google_ml_integration | Proporciona funciones que se usan para acceder a los endpoints de Vertex AI y obtener predicciones en SQL. |
| postgresql-hll | Proporciona una estructura de datos HyperLogLog (hll) que estima la cardinalidad de un conjunto. |
| hstore | Implementa el tipo de datos hstore para almacenar conjuntos de pares clave-valor en un único valor de PostgreSQL. |
| hypopg | Proporciona compatibilidad con índices hipotéticos. |
| insert_username | Proporciona funciones para almacenar el nombre del usuario actual en un campo de texto. Puedes usar esta función para hacer un seguimiento del usuario que modificó por última vez una fila en una tabla de base de datos. |
| intagg | Proporciona un agregador de números enteros y un enumerador. |
| intarray | Proporciona un conjunto de funciones y operadores para manipular arrays de números enteros sin valores nulos y realizar búsquedas indexadas en ellos. |
| ip4r | Proporciona tipos de datos para direcciones IPv4/v6 e intervalos de direcciones, además de compatibilidad con índices. |
| isn | Proporciona tipos de datos para algunos estándares internacionales de numeración de productos. |
| lo | Compatibilidad con la gestión de objetos grandes (también llamados LOs o BLOBs). |
| ltree | Implementa un tipo de datos ltree para representar etiquetas de datos almacenados en una estructura jerárquica en forma de árbol. |
| moddatetime | Proporciona funciones para almacenar la hora actual en un campo timestamp. Puedes usar esta función para hacer un seguimiento de la última vez que se modificó una fila en una tabla de base de datos. |
| pageinspect | Inspecciona el contenido de las páginas de la base de datos a un nivel bajo. |
| pg_bigm | Habilita la búsqueda de texto completo y permite un índice de dos gramos (bigramas) para acelerar la búsqueda de texto completo. |
| pg_buffercache | Proporciona un medio para examinar lo que ocurre en la caché de búferes compartida en tiempo real. |
| pg_cron | Proporciona un programador de trabajos basado en cron. Esta extensión permite usar la sintaxis de cron para programar comandos de PostgreSQL directamente desde la base de datos. |
| pg_freespacemap | Examina el mapa de espacio libre (FSM). |
| pg_hint_plan | Te permite mejorar los planes de ejecución de PostgreSQL mediante sugerencias, que son descripciones en comentarios de SQL. |
| pg_partman | Te permite crear y gestionar conjuntos de particiones de tablas basados en el tiempo y en series. |
| pg_prewarm | Proporciona una forma cómoda de cargar datos de relaciones en la caché de búferes del sistema operativo o en la caché de búferes de PostgreSQL. |
| pg_proctab | Te permite usar pg_top y generar informes a partir de la tabla de procesos del sistema operativo. |
| pg_repack | Te permite eliminar el espacio desperdiciado de las tablas y los índices. También te permite realizar un CLUSTER en línea (ordenar tablas por índice de clúster). |
| pg_similarity | Proporciona compatibilidad con consultas de similitud en PostgreSQL. |
| pg_squeeze | Elimina el espacio sin usar de una tabla y, opcionalmente, usa un índice para ordenar los registros o las filas (tuplas) de la tabla. |
| pg_stat_statements | Proporciona un medio para hacer un seguimiento de las estadísticas de ejecución de todas las instrucciones SQL ejecutadas. |
| pg_trgm | Proporciona funciones y operadores para determinar la similitud del texto alfanumérico en función de la coincidencia de trigramas, así como clases de operadores de índice que admiten la búsqueda rápida de cadenas similares. |
| pg_visibility | Proporciona una forma de examinar el mapa de visibilidad (VM) y la información de visibilidad a nivel de página de una tabla. |
| pg_wait_sampling | Recoge estadísticas de muestreo de eventos de espera, lo que proporciona datos de eventos de espera para los procesos de los servidores. |
| pgaudit | Proporciona un registro de auditoría detallado de sesiones y objetos mediante la función de registro estándar que ofrece PostgreSQL. |
| pgcrypto | Proporciona funciones criptográficas para PostgreSQL. |
| pgfincore | Conjunto de funciones para gestionar páginas en la memoria caché de disco del sistema operativo desde PostgreSQL. |
| pglogical | Proporciona replicación lógica para PostgreSQL. |
| pgrowlocks | Proporciona información sobre el bloqueo de filas de la tabla especificada. |
| pgstattuple | Proporciona varias funciones para obtener estadísticas a nivel de tupla. |
| pgtap | Proporciona un marco de pruebas unitarias para PostgreSQL, escrito en PL/pgSQL y PL/SQL. |
| pgtt | Añade compatibilidad con tablas temporales globales a tus bases de datos. |
| plpgsql | Lenguaje de procedimientos que se puede cargar para crear funciones, procedimientos y activadores. También puedes usar este lenguaje para ejecutar código directamente en bloques DO. |
| plproxy | Controlador de lenguaje de procedimientos que permite llamadas a procedimientos remotos entre bases de datos PostgreSQL, con fragmentación opcional. |
| plv8 | Proporciona un lenguaje de procedimientos para habilitar JavaScript. |
| postgres_ann | Búsqueda de ANN de PostgreSQL |
| postgres_fdw | Permite crear wrappers de datos externos en instancias o entre instancias. |
| prefix | Proporciona la coincidencia de prefijos, además de compatibilidad con índices. |
| refint | Incluye funciones para comprobar las restricciones de clave externa, la tabla de referencia y la tabla a la que se hace referencia. |
| sslinfo | Proporciona información sobre el certificado SSL que proporcionó el cliente actual al conectarse a la instancia. |
| tablefunc | Incluye varias funciones que devuelven tablas (varias filas). |
| tcn | Proporciona una función de activador que notifica a los receptores los cambios en el contenido de las tablas de la base de datos. |
| temporal_tables | Proporciona compatibilidad con tablas temporales. Una tabla temporal registra el periodo de tiempo en el que una fila es válida desde el punto de vista de la base de datos. |
| tsm_system_rows | Proporciona el método de muestreo de tablas SYSTEM_ROWS, que se puede usar en la cláusula TABLESAMPLE de un comando SELECT. |
| tsm_system_time | Proporciona el método de muestreo de tablas SYSTEM_TIME, que se puede usar en la cláusula TABLESAMPLE de un comando SELECT. |
| unaccent | Diccionario de búsqueda de texto que elimina los acentos (signos diacríticos) de los lexemas. |
| uuid-ossp | Proporciona funciones para generar identificadores únicos universales (UUIDs) mediante uno de los varios algoritmos estándar. |
| pgvector | Extensión de código abierto para almacenar y buscar embeddings de vectores en bases de datos PostgreSQL. |