全部產品
Search
文件中心

Hologres:ALTER LOGICAL PARTITION TABLE

更新時間:May 07, 2025

Hologres V3.1版本起支援邏輯分區表(LOGICAL PARTITION TABLE),本文為您介紹如何使用ALTER LOGICAL PARTITION TABLE修改邏輯分區表配置。

修改邏輯分區表

Hologres支援ALTER TABLE文法,非分區表的ALTER TABLE使用詳情,請參見ALTER TABLE。邏輯分區表作為物理表,同樣支援ALTER TABLE文法,並具備非分區表的所有ALTER TABLE功能。此外,邏輯分區表還支援按分區修改分區屬性。關於邏輯分區表和分區屬性詳情,請參見表屬性說明分區屬性說明

修改表屬性

ALTER TABLE <table_name> SET (<property_name> = <property_value> [, ...]);

重設表屬性

ALTER TABLE <table_name> RESET (<property_name> [, ...]);

修改分區屬性

ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] SET (<property_name> = <property_value> [, ...]);

重設分區屬性

ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] RESET (<property_name> [, ...]);
說明

與物理分區表相比,邏輯分區表無需建立分區,也無需通過ALTER 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 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');

修改邏輯分區表的表屬性

ALTER TABLE public.hologres_logical_parent_1 
SET (
    partition_expiration_time = '60 day', 
    partition_keep_hot_window = '30 day', 
    partition_require_filter = FALSE);

修改邏輯分區表多個分區的分區屬性

ALTER TABLE public.hologres_logical_parent_1 
PARTITION (ds = '2025-03-16') PARTITION (ds = '2025-03-17')
SET (
    keep_alive = TRUE, 
    storage_mode = 'hot');