Configurar extensiones de bases de datos

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.