Mulai Hologres V3.1, tabel partisi logis didukung. Topik ini menjelaskan cara menggunakan pernyataan ALTER LOGICAL PARTITION TABLE untuk memodifikasi konfigurasi tabel partisi logis.
Modifikasi tabel partisi logis
Hologres mendukung sintaks ALTER TABLE. Untuk informasi lebih lanjut tentang penggunaan ALTER TABLE pada tabel non-partisi, lihat ALTER TABLE. Sebagai tabel fisik, tabel partisi logis juga mendukung sintaks ALTER TABLE dan mencakup semua fungsi ALTER TABLE dari tabel non-partisi. Selain itu, tabel partisi logis mendukung modifikasi properti partisi berdasarkan partisi. Untuk detail lebih lanjut tentang tabel partisi logis dan properti partisi, lihat Properti tabel dan Properti partisi.
Modifikasi properti tabel
ALTER TABLE <table_name> SET (<property_name> = <property_value> [, ...]);Reset properti tabel
ALTER TABLE <table_name> RESET (<property_name> [, ...]);Modifikasi properti partisi
ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] SET (<property_name> = <property_value> [, ...]);Reset properti partisi
ALTER TABLE <table_name> PARTITION(<partition_key> = '<partition_value>') [...] RESET (<property_name> [, ...]);Dibandingkan dengan tabel partisi fisik, tabel partisi logis tidak memerlukan pembuatan partisi atau melampirkan serta melepas partisi melalui sintaks ALTER TABLE.
Contoh
Persiapkan data
-- Buat tabel partisi logis.
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'
);
-- Masukkan 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');Modifikasi properti tabel dari tabel partisi logis
ALTER TABLE public.hologres_logical_parent_1
SET (
partition_expiration_time = '60 day',
partition_keep_hot_window = '30 day',
partition_require_filter = FALSE);Modifikasi properti partisi dari beberapa partisi dalam tabel partisi logis
ALTER TABLE public.hologres_logical_parent_1
PARTITION (ds = '2025-03-16') PARTITION (ds = '2025-03-17')
SET (
keep_alive = TRUE,
storage_mode = 'hot');