PostgreSql分区表
在PostgreSQL中创建分区表需要使用继承(也称为表继承)或者使用PostgreSQL 10引入的新分区功能。以下是使用分区功能创建范围分区表的示例代码:
-- 创建一个范围分区的主表
CREATE TABLE measurement (
city_id int not null,
logdate date not null,
peaktemp int,
unitsales int
) PARTITION BY RANGE (logdate);
-- 创建分区
CREATE TABLE measurement_y2020m01 PARTITION OF measurement
FOR VALUES FROM ('2020-01-01') TO ('2020-02-01');
CREATE TABLE measurement_y2020m02 PARTITION OF measurement
FOR VALUES FROM ('2020-02-01') TO ('2020-03-01');
-- 插入数据示例
INSERT INTO measurement (city_id, logdate, peaktemp, unitsales)
VALUES (1, '2020-01-15', 22, 100);
-- 查询分区表中的数据
SELECT * FROM measurement_y2020m01;
在这个例子中,measurement
是一个主表,它通过 logdate
字段进行范围分区。我们创建了两个分区,分别对应2020年1月和2月的数据。插入数据时,如果 logdate
在2020年1月1日到2020年2月1日之间,则会插入到 measurement_y2020m01
分区中。
要查询分区表中的数据,可以直接对主表进行查询,PostgreSQL会自动根据分区键值选择相应的分区进行查询。
评论已关闭