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');