Todos os produtos
Search
Central de documentação

Hologres:Extensões

Última atualização: Jun 28, 2026

O Hologres oferece um conjunto de extensões integradas que adicionam recursos especializados ao banco de dados, como computação vetorial, análise espacial, gerenciamento de permissões e mascaramento de dados. Esta página lista todas as extensões suportadas e explica como carregá-las, visualizá-las e desinstalá-las.

Extensões suportadas | Carregar uma extensão | Visualize extensões carregadas | Desinstalar uma extensão | Perguntas frequentes

Limitações

  • É possível carregar cada extensão em apenas um schema por banco de dados. Por exemplo, se você carregar uma extensão no schema padrão, não poderá carregá-la em nenhum outro schema do mesmo banco.

  • Carregue a extensão no schema de sistema pg_catalog para disponibilizá-la em todos os schemas do banco de dados. Se nenhum schema for especificado, a extensão será carregada no schema public por padrão.

  • Somente contas com permissões de Superuser podem carregar ou desinstalar extensões.

  • Atualmente, o Hologres suporta apenas extensões de sistema integradas. Não é possível carregar extensões personalizadas ou externas.

Extensões suportadas

Extensão

Descrição

Restrição de schema

Comando de carregamento

spm, slpm

Ativam o modelo de permissão simples (SPM) ou o modelo de permissão simples no nível de schema (SLPM). Consulte Usar o SPM e Usar o SLPM.

Carregada no schema hologres por padrão. O schema não pode ser alterado.

CREATE EXTENSION IF NOT EXISTS spm;

hive_compatible

Adiciona a função get_json_object(). Consulte Funções JSON.

Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS hive_compatible SCHEMA pg_catalog;

hologres_fdw

Habilita consultas entre bancos de dados (Beta). Consulte Consultas entre bancos de dados.

Apenas para instâncias dedicadas. Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;

dlf_fdw

Lê dados do OSS por meio do DLF (Data Lake Formation). Consulte Acelerar o acesso a data lakes do OSS com base no DLF.

Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS dlf_fdw SCHEMA pg_catalog;

proxima

Habilita a computação vetorial Proxima. Consulte Computação vetorial Proxima.

Apenas para instâncias dedicadas. Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS proxima SCHEMA pg_catalog;

flow_analysis

Adiciona funções de segmentação de usuários e análise de funil. Consulte Funções de funil e Funções de segmentação de usuários.

Carregada no schema public por padrão. Só pode ser carregada em public.

CREATE EXTENSION IF NOT EXISTS flow_analysis;

roaringbitmap

Adiciona funções Roaring Bitmap (RB). Consulte Funções RoaringBitmap.

Apenas para instâncias dedicadas. Carregada no schema public por padrão. Só pode ser carregada em public.

CREATE EXTENSION IF NOT EXISTS roaringbitmap;

hg_binlog

Permite consumir dados do Binlog do Hologres. Consulte Consumir dados do Binlog do Hologres usando JDBC.

Apenas para instâncias dedicadas. Carregada no schema hologres por padrão. O schema não pode ser alterado.

CREATE EXTENSION IF NOT EXISTS hg_binlog;

postgis

Adiciona funções espaciais do PostGIS. Consulte Funções espaciais do PostGIS.

Apenas para instâncias dedicadas. Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;

clickhouse

Adiciona funções compatíveis com ClickHouse para migração. Consulte Importar dados do ClickHouse.

Apenas para instâncias dedicadas. Carregada no schema public por padrão. Só pode ser carregada em public.

CREATE EXTENSION IF NOT EXISTS clickhouse;

pgcrypto

Adiciona a função GEN_RANDOM_UUID. Consulte Funções de dados aleatórios.

Deve ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS pgcrypto SCHEMA pg_catalog;

bsi

Adiciona funções Bit Slice Index (BSI). Consulte Funções BSI.

Carregada no schema public por padrão. Só pode ser carregada em public.

CREATE EXTENSION IF NOT EXISTS bsi;

hg_anon

Habilita o mascaramento de dados. Consulte Mascaramento de dados.

Só pode ser carregada em pg_catalog.

CREATE EXTENSION IF NOT EXISTS hg_anon SCHEMA pg_catalog;

mysql_compatible

Adiciona funções compatíveis com MySQL. Consulte Funções compatíveis com MySQL.

Carregada no schema hologres por padrão. O schema não pode ser alterado.

CREATE EXTENSION IF NOT EXISTS mysql_compatible;

Carregar uma extensão

Carregar uma extensão em pg_catalog torna-a disponível em todos os schemas do banco de dados. Se você carregar uma extensão em qualquer outro schema, as funções dela só estarão acessíveis dentro do search_path desse schema específico.

Nota

Algumas extensões só podem ser carregadas em um schema específico. Verifique a coluna Schema constraint na tabela acima antes de executar o comando de carregamento.

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

Parâmetro

Descrição

extension_name

Nome da extensão. Consulte a tabela de extensões suportadas para obter os valores válidos.

schema_name

Schema onde a extensão será carregada. Use pg_catalog para disponibilidade em todo o banco de dados. O padrão é public se omitido.

Exemplo: Carregue a extensão postgis em pg_catalog:

CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;

Visualize extensões carregadas no banco de dados atual

Execute a consulta a seguir para listar todas as extensões carregadas no banco de dados atual, incluindo aquelas carregadas por padrão:

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 uma extensão

Importante

Não use DROP EXTENSION <extension_name> CASCADE. A opção CASCADE exclui todos os objetos dependentes da extensão, incluindo dados do PostGIS, RoaringBitmap, Proxima, Binlog e BSI, além de metadados, tabelas, visualizações e dados do servidor.

-- Requires Superuser permissions
DROP EXTENSION <extension_name>;

Parâmetro

Descrição

extension_name

Nome da extensão a ser desinstalada. Consulte a tabela de extensões suportadas para obter os valores válidos.

Exemplo: Consultar uma extensão entre schemas

Algumas extensões, como roaringbitmap, só podem ser carregadas no schema public. Se sua tabela estiver em um schema diferente, chamar uma função RB sem o prefixo do schema resultará no erro function xxx does not exist. Para resolver isso, adicione o prefixo public. à função.

O exemplo a seguir demonstra o problema e a solução.

  1. Crie uma tabela em um schema diferente de public e insira dados.

    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. Execute uma consulta usando uma função RB enquanto o search_path estiver definido como public. A consulta será bem-sucedida.

    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. Altere o search_path para o schema test e execute a mesma consulta. A consulta falhará.

    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. Adicione o prefixo public. à função para chamá-la a partir do schema correto.

    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;

Perguntas frequentes

Uma extensão foi carregada no schema errado. Após trocar de schema, suas funções ficaram inacessíveis e retornam function xxx does not exist.

Isso ocorre quando uma extensão é carregada no schema public, mas o search_path ativo não inclui mais o public. Desinstale a extensão sem usar CASCADE e recarregue-a em pg_catalog para torná-la acessível em todos os schemas:

DROP EXTENSION hologres_fdw;

CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;