Todos os produtos
Search
Central de documentação

Hologres:Parâmetros GUC

Última atualização: Jun 28, 2026

O Hologres oferece suporte a parâmetros Grand Unified Configuration (GUC) para controlar o comportamento de consultas, o gerenciamento de conexões, o desempenho e a segurança no nível da sessão ou do banco de dados.

Limites

Os parâmetros GUC não se aplicam a tabelas do sistema.

Referência de parâmetros GUC

Os parâmetros estão agrupados por função. A coluna Level indica onde configurar cada parâmetro: Session (entra em vigor imediatamente para a conexão atual) ou Database (entra em vigor após a reconexão).

Auto-analyze

Estes parâmetros controlam o recurso de auto-analyze, que coleta estatísticas automaticamente para manter a precisão dos planos de consulta.

Parameter

Description

Default

Level

hg_enable_start_auto_analyze_worker

Ativa ou desativa o auto-analyze.

on (Hologres V1.1+)

Session / Database

hg_auto_check_table_changes_interval

Intervalo em que o Hologres verifica alterações nas tabelas internas e aciona o auto-analyze.

10min

Session / Database

hg_auto_check_foreign_table_changes_interval

Intervalo em que o Hologres verifica alterações nas tabelas externas e aciona o auto-analyze.

4h

Session / Database

hg_auto_analyze_max_sample_row_count

Número máximo de linhas amostradas por execução do auto-analyze.

16777216

Session / Database

hg_fixed_api_modify_max_delay_interval

Atraso máximo antes que o auto-analyze capture alterações feitas por APIs fixas.

3day

Session / Database

Consulta de tabela externa do MaxCompute

Estes parâmetros ajustam a consulta de tabelas externas do MaxCompute pelo Hologres. Para obter orientações sobre ajustes, consulte Otimizar o desempenho de consulta para tabelas externas do MaxCompute.

Parameter

Description

Default

Valid values

Level

hg_foreign_table_max_partition_limit

Número máximo de partições acessadas por consulta. O valor 0 indica ausência de limite.

512 (antes da V3.0.7); 0 (V3.0.7+)

01024

Session / Database

hg_experimental_query_batch_size

Quantidade de linhas buscadas por lote ao examinar uma tabela do MaxCompute.

8192

Session / Database

hg_foreign_table_split_size

Tamanho da divisão de dados (em MB) para leituras paralelas. Evite definir valores excessivamente grandes.

64

Session / Database

hg_foreign_table_executor_max_dop

Grau máximo de paralelismo (DOP) para execução de consultas.

Número de núcleos de CPU (máximo de 128)

Session / Database

hg_foreign_table_executor_dml_max_dop

DOP máximo para operações DML em tabelas externas.

32

Session / Database

hg_enable_access_odps_orc_via_holo

Permite ler arquivos ORC do MaxCompute com o leitor nativo do Hologres.

on (Hologres V1.1+)

Session / Database

Cache de resultados

Parameter

Description

Default

Level

hg_experimental_enable_result_cache

Habilita o cache de resultados para consultas idênticas. Desative apenas se resultados obsoletos causarem problemas.

on

Session / Database

Otimização de consulta de tabela interna

Estes parâmetros ajustam o otimizador de consultas para tabelas internas. Para mais detalhes, consulte Otimizar o desempenho de consultas.

Parameter

Description

Default

Level

optimizer_join_order

Controla como o otimizador busca a ordem ideal de junção. Defina como query para usar a ordem especificada na consulta.

exhaustive

Session

optimizer_force_multistage_agg

Força a agregação em vários estágios. Ative para consultas com GROUP BY de alta cardinalidade e baixo desempenho.

off

Session

Segurança e criptografia

Parameter

Description

Default

Level

hg_anon_enable

Ativa a mascaração de dados. Configure no nível do banco de dados para aplicar a definição a todas as sessões.

off

Database (recommended)

hg_experimental_encryption_options

Ativa e configura a criptografia de dados em repouso. Configure no nível do banco de dados.

off

Database (recommended)

Timeouts de consulta e conexão

Importante

Configure idle_session_timeout no nível do banco de dados. O valor padrão 0 desativa a liberação automática de conexões ociosas, o que pode exaurir o limite de conexões e causar vazamentos.

Parameter

Description

Default

Level

statement_timeout

Cancela qualquer consulta ativa executada além da duração especificada. Valor em milissegundos; 0 desativa o timeout. Para mais detalhes, consulte Gerenciar consultas.

8h

Session (recommended)

idle_in_transaction_session_timeout

Encerra sessões ociosas em transações abertas além da duração especificada. Valor em milissegundos; 0 desativa o timeout. Configure no nível do banco de dados para evitar que vazamentos de transação bloqueiem o banco. Para mais detalhes, consulte Gerenciar consultas.

10min

Database (recommended)

idle_session_timeout

Libera conexões inativas além da duração especificada. Valor em milissegundos; 0 desativa a liberação automática. Para mais detalhes, consulte Gerenciar conexões.

0 (disabled)

Database (recommended)

Conversão de tipo de dados

Parameter

Description

Default

Level

hg_experimental_functions_use_pg_implementation

Alterna a função de conversão especificada (to_char, to_date ou to_timestamp) para a implementação do PostgreSQL, compatível com anos de 0000 a 9999. A implementação padrão do Hologres abrange de 1925 a 2282. Compatível com Hologres V1.1.31+. Para mais detalhes, consulte Função de conversão de tipo de dados.

Session / Database

Exemplo: Para estender o intervalo de anos do to_char:

set hg_experimental_functions_use_pg_implementation = 'to_char';

Funções de agregação

Parameter

Description

Default

Valid values

Level

hg_experimental_approx_count_distinct_precision

Controla a precisão e o uso de memória da função APPROX_COUNT_DISTINCT. Valores maiores reduzem a margem de erro, mas aumentam o consumo de memória.

17

1220

Session / Database

Fuso horário

Parameter

Description

Default

Level

timezone

Define o fuso horário da sessão ou do banco de dados.

GMT-8:00

Session / Database

Operações de tabela

Parameter

Description

Default

Level

hg_experimental_enable_create_table_like_properties

Quando ativado, o comando CREATE TABLE LIKE copia o esquema e as propriedades da tabela (chave primária, índice). Se desativado, copia apenas o esquema.

off

Session / Database

hg_experimental_affect_row_multiple_times_keep_first

Define a política de resolução de conflitos do INSERT ON CONFLICT para manter a primeira ocorrência quando um lote contém valores duplicados de chave primária.

off

Session / Database

hg_experimental_affect_row_multiple_times_keep_last

Define a política de resolução do INSERT ON CONFLICT para manter a última ocorrência quando um lote contém valores duplicados de chave primária.

off

Session / Database

Replicação e monitoramento

Parameter

Description

Default

Level

hg_experimental_enable_read_replica

Ativa a replicação no nível de shard.

on

Session / Database

hg_experimental_display_query_id

Exibe o ID da consulta no campo NOTICE do cliente. Funciona para clientes HoloWeb e PostgreSQL. Em JDBC, recupere o ID da consulta com statement.getWarnings().

off

Session / Database

Verificar o valor atual de um parâmetro GUC

Execute SHOW para verificar o valor atual ou padrão de um parâmetro:

-- Check whether auto-analyze is enabled
SHOW hg_enable_start_auto_analyze_worker;

-- Check the MaxCompute partition limit
SHOW hg_foreign_table_max_partition_limit;

Configurar parâmetros GUC

Configure os parâmetros GUC no nível da sessão ou do banco de dados, conforme o escopo do parâmetro e o caso de uso. Nem todos os parâmetros exigem definição no nível do banco de dados.

Nível de sessão

A instrução SET configura um parâmetro apenas para a conexão atual. A configuração é descartada ao fechar a conexão. Use a configuração no nível da sessão quando o comportamento deve aplicar-se a uma consulta ou carga de trabalho específica, e não globalmente.

Sintaxe:

set <GUC_name> = <value>;

Exemplos:

-- Enable auto-analyze for this session
set hg_enable_start_auto_analyze_worker = on;

-- Limit MaxCompute partition hits to 1024 for this session
set hg_foreign_table_max_partition_limit = 1024;

Nível de banco de dados

A instrução ALTER DATABASE configura um parâmetro para todas as conexões futuras ao banco de dados especificado. A configuração entra em vigor após fechar e reabrir a conexão. Ao criar um novo banco de dados, configure explicitamente seus parâmetros GUC, pois eles não são herdados automaticamente.

Sintaxe:

alter database <db_name> set <GUC_name> = <value>;

Exemplos:

-- Enable auto-analyze for all connections to testdb
alter database testdb set hg_enable_start_auto_analyze_worker = on;

-- Limit MaxCompute partition hits to 1024 for all connections to testdb
alter database testdb set hg_foreign_table_max_partition_limit = 1024;

-- Enable data masking for all connections to a database
alter database <db_name> set hg_anon_enable = on;

-- Enable data encryption for all connections to a database
alter database <db_name> set hg_experimental_encryption_options='AES256,623c26ee-xxxx-xxxx-xxxx-91d323cc4855,AliyunHologresEncryptionDefaultRole,187xxxxxxxxxxxxx';

-- Release idle connections after 10 minutes (600,000 ms) of inactivity
alter database <db_name> SET idle_session_timeout = 600000;