Modifica a configuração de uma tabela particionada lógica. Disponível a partir do Hologres V3.1.
Diferentemente das tabelas particionadas físicas, as tabelas particionadas lógicas não exigem criação manual de partições nem anexação ou desanexação de partições por meio de ALTER TABLE .
Operações compatíveis:
Modificar propriedades da tabela — Atualize configurações no nível da tabela, como tempo de expiração, janela de armazenamento quente e requisitos de filtro de partição.
Redefinir propriedades da tabela — Restaure uma ou mais propriedades no nível da tabela para os valores padrão.
Modificar propriedades da partição — Atualize configurações de armazenamento de uma ou mais partições específicas.
Redefinir propriedades da partição — Restaure uma ou mais propriedades no nível da partição para os valores padrão.
Para operações ALTER TABLE não específicas de partição compatíveis com tabelas particionadas lógicas, consulte ALTER TABLE. Para obter a lista completa de propriedades de tabela e de partição, consulte Propriedades da tabela e Propriedades da partição.
Modificar propriedades da tabela
ALTER TABLE <table_name> SET (<property_name> = <property_value> [, ...]);
Defina uma ou mais propriedades no nível da tabela. É possível atualizar várias propriedades em uma única instrução. As propriedades comuns incluem partition_expiration_time, partition_keep_hot_window e partition_require_filter.
Redefinir propriedades da tabela
ALTER TABLE <table_name> RESET (<property_name> [, ...]);
Restaura uma ou mais propriedades no nível da tabela para os valores padrão.
Modificar propriedades da partição
ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] SET (<property_name> = <property_value> [, ...]);
Defina uma ou mais propriedades em partições específicas. As propriedades comuns incluem keep_alive e storage_mode.
Especificação de partições de destino: Inclua uma cláusula PARTITION(<partition_key> = '<partition_value>') para cada partição a ser atualizada. Para atualizar várias partições em uma única instrução, repita a cláusula. Exemplo:
PARTITION (ds = '2025-03-16') PARTITION (ds = '2025-03-17')
Redefinir propriedades da partição
ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] RESET (<property_name> [, ...]);
Restaura uma ou mais propriedades no nível da partição para os valores padrão.
Exemplos
Preparar dados
-- Create a logical partitioned table.
CREATE TABLE public.hologres_logical_parent_1 (
a TEXT,
b INT,
c TIMESTAMP,
ds DATE NOT NULL,
PRIMARY KEY (b, ds))
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'b',
partition_expiration_time = '30 day',
partition_keep_hot_window = '15 day',
partition_require_filter = TRUE,
binlog_level = 'replica',
partition_generate_binlog_window = '3 day'
);
-- Insert data.
INSERT INTO public.hologres_logical_parent_1
VALUES
('a', 1, '2025-03-16 10:00:00', '2025-03-16'),
('b', 2, '2025-03-17 11:00:00', '2025-03-17');
Modificar propriedades da tabela
O exemplo a seguir estende a janela de expiração para 60 dias, aumenta a janela de armazenamento quente para 30 dias e desativa o requisito de filtro de partição.
ALTER TABLE public.hologres_logical_parent_1
SET (
partition_expiration_time = '60 day',
partition_keep_hot_window = '30 day',
partition_require_filter = FALSE);
Modificar propriedades de partição para várias partições
Este exemplo fixa duas partições no armazenamento quente ao definir keep_alive = TRUE e storage_mode = 'hot' em ambas, usando uma única instrução.
ALTER TABLE public.hologres_logical_parent_1
PARTITION (ds = '2025-03-16') PARTITION (ds = '2025-03-17')
SET (
keep_alive = TRUE,
storage_mode = 'hot');
Próximos passos
CREATE LOGICAL PARTITION TABLE — Crie uma tabela particionada lógica e defina suas propriedades iniciais.
ALTER TABLE — Operações gerais de ALTER TABLE compatíveis com tabelas do Hologres.