Todos los productos
Search
Centro de documentos

Hologres:Extensions

Última actualización: Sep 05, 2026

Hologres admite un conjunto de extensiones integradas que agregan capacidades especializadas a su base de datos, desde cómputo vectorial y análisis espacial hasta gestión de permisos y enmascaramiento de datos. Esta página enumera todas las extensiones compatibles y explica cómo cargarlas, consultarlas y desinstalarlas.

Supported extensions | Load an extension | Consultar extensiones cargadas | Desinstalar una extensión | Preguntas frecuentes

Limitaciones

  • Una extensión solo se puede cargar en un esquema por base de datos. Por ejemplo, si carga una extensión en el esquema predeterminado, no podrá cargarla en ningún otro esquema de esa misma base de datos.

  • Cargue la extensión en el esquema del sistema pg_catalog para que esté disponible en todos los esquemas de la base de datos. Si no se especifica un esquema, la extensión se carga en el esquema public de forma predeterminada.

  • Solo las cuentas con permisos de Superuser pueden cargar o desinstalar extensiones.

  • Actualmente, solo se admiten extensiones del sistema integradas. No es posible cargar extensiones personalizadas ni externas.

Extensiones compatibles

Extensión

Descripción

Restricción de esquema

Comando de carga

spm, slpm

Habilita el modelo de permisos simple (SPM) o el modelo de permisos simple a nivel de esquema (SLPM). Consulte Use the SPM y Use the SLPM.

Se carga en el esquema hologres de forma predeterminada. El esquema no se puede modificar.

CREATE EXTENSION IF NOT EXISTS spm;

hive_compatible

Agrega la función get_json_object(). Consulte JSON functions.

Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS hive_compatible SCHEMA pg_catalog;

hologres_fdw

Habilita consultas entre bases de datos (Beta). Consulte Cross-database queries.

Solo instancias dedicadas. Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;

dlf_fdw

Lee datos de OSS mediante DLF (Data Lake Formation). Consulte Accelerate access to OSS data lakes based on DLF.

Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS dlf_fdw SCHEMA pg_catalog;

proxima

Habilita el cómputo vectorial Proxima. Consulte Proxima vector computing.

Solo instancias dedicadas. Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS proxima SCHEMA pg_catalog;

flow_analysis

Agrega funciones de segmentación de usuarios y análisis de embudos. Consulte Funnel functions y User segmentation functions.

Se carga en el esquema public de forma predeterminada. Solo se puede cargar en public.

CREATE EXTENSION IF NOT EXISTS flow_analysis;

roaringbitmap

Agrega funciones de Roaring Bitmap (RB). Consulte RoaringBitmap functions.

Solo instancias dedicadas. Se carga en el esquema public de forma predeterminada. Solo se puede cargar en public.

CREATE EXTENSION IF NOT EXISTS roaringbitmap;

hg_binlog

Habilita el consumo de datos Binlog de Hologres. Consulte Consume Hologres Binlog data using JDBC.

Solo instancias dedicadas. Se carga en el esquema hologres de forma predeterminada. El esquema no se puede modificar.

CREATE EXTENSION IF NOT EXISTS hg_binlog;

postgis

Agrega funciones espaciales de PostGIS. Consulte PostGIS spatial functions.

Solo instancias dedicadas. Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;

clickhouse

Agrega funciones compatibles con ClickHouse para migración. Consulte Import data from ClickHouse.

Solo instancias dedicadas. Se carga en el esquema public de forma predeterminada. Solo se puede cargar en public.

CREATE EXTENSION IF NOT EXISTS clickhouse;

pgcrypto

Agrega la función GEN_RANDOM_UUID. Consulte Random data functions.

Debe cargarse en pg_catalog.

CREATE EXTENSION IF NOT EXISTS pgcrypto SCHEMA pg_catalog;

bsi

Agrega funciones de Bit Slice Index (BSI). Consulte BSI functions.

Se carga en el esquema public de forma predeterminada. Solo se puede cargar en public.

CREATE EXTENSION IF NOT EXISTS bsi;

hg_anon

Habilita el enmascaramiento de datos. Consulte Data masking.

Solo se puede cargar en pg_catalog.

CREATE EXTENSION IF NOT EXISTS hg_anon SCHEMA pg_catalog;

mysql_compatible

Agrega funciones compatibles con MySQL. Consulte MySQL-compatible functions.

Se carga en el esquema hologres de forma predeterminada. El esquema no se puede modificar.

CREATE EXTENSION IF NOT EXISTS mysql_compatible;

Cargar una extensión

Al cargar una extensión en pg_catalog, esta estará disponible en todos los esquemas de la base de datos. Si carga una extensión en cualquier otro esquema, sus funciones solo serán accesibles dentro del search_path de dicho esquema.

Nota

Algunas extensiones solo se pueden cargar en un esquema específico. Revise la columna Schema constraint de la tabla anterior antes de ejecutar el comando de carga.

-- Requires Superuser permissions
CREATE EXTENSION IF NOT EXISTS <extension_name> SCHEMA <schema_name>;

Parámetro

Descripción

extension_name

Nombre de la extensión. Consulte supported extensions table para ver los valores válidos.

schema_name

Esquema donde se cargará la extensión. Use pg_catalog para garantizar disponibilidad en toda la base de datos. Si se omite, el valor predeterminado es public.

Ejemplo: Cargar la extensión postgis en pg_catalog:

CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;

Consultar las extensiones cargadas en la base de datos actual

Ejecute la siguiente consulta para listar todas las extensiones cargadas en la base de datos actual, incluidas las que se cargan de forma predeterminada:

SELECT
    e.extname AS "Name",
    e.extversion AS "Version",
    n.nspname AS "Schema",
    c.description AS "Description"
FROM
    pg_catalog.pg_extension e
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace
    LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid
        AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass
    ORDER BY 1;

Desinstalar una extensión

Importante

No utilice DROP EXTENSION <extension_name> CASCADE. La opción CASCADE elimina todos los objetos que dependen de la extensión, incluidos los datos de PostGIS, RoaringBitmap, Proxima, Binlog y BSI, así como metadatos, tablas, vistas y datos del servidor.

-- Requires Superuser permissions
DROP EXTENSION <extension_name>;

Parámetro

Descripción

extension_name

Nombre de la extensión que se va a desinstalar. Consulte supported extensions table para ver los valores válidos.

Ejemplo: Consultar una extensión entre esquemas

Algunas extensiones, como roaringbitmap, solo se pueden cargar en el esquema public. Si su tabla se encuentra en un esquema diferente y llama a una función RB sin el prefijo del esquema, se producirá el error function xxx does not exist. Para resolverlo, anteponga public. al nombre de la función.

El siguiente ejemplo muestra el problema y su solución.

  1. Cree una tabla en un esquema distinto de public e insértela datos.

    CREATE EXTENSION roaringbitmap;
    
    CREATE SCHEMA test;
    
    -- Create a table in the test schema
    CREATE TABLE test.t1 (
        id integer,
        bitmap roaringbitmap
    );
    
    -- Insert a bitmap from an array
    INSERT INTO test.t1
    SELECT 1, RB_BUILD(ARRAY[1, 2, 3, 4, 5, 6, 7, 8, 9, 200]);
    
    -- Insert a bitmap aggregated from a series
    INSERT INTO test.t1
    SELECT 2, RB_BUILD_AGG(e)
    FROM GENERATE_SERIES(1, 100) e;
  2. Realice una consulta con una función RB mientras search_path está configurado como public. La consulta se ejecuta correctamente.

    SELECT RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;
  3. Cambie search_path al esquema test y ejecute la misma consulta. La consulta falla.

    SET search_path TO test;
    
    SELECT RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;
    -- ERROR: function rb_or(public.roaringbitmap, public.roaringbitmap) does not exist
  4. Anteponga public. a la función para invocarla desde el esquema correcto.

    SELECT public.RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;

Preguntas frecuentes

Se cargó una extensión en el esquema incorrecto. Tras cambiar de esquema, sus funciones no son accesibles y devuelven function xxx does not exist.

Esto ocurre cuando una extensión se carga en el esquema public, pero el search_path activo ya no incluye public. Desinstale la extensión sin usar CASCADE y vuelva a cargarla en pg_catalog para que sea accesible desde todos los esquemas:

DROP EXTENSION hologres_fdw;

CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;