Postgres 创建分区表的三种方式
warning:
这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
在PostgreSQL中,创建分区表可以通过以下三种方式实现:
- 使用
CREATE TABLE命令结合INHERITS子句。 - 使用
CREATE TABLE命令结合PARTITION BY LIST或PARTITION BY RANGE子句。 - 使用
CREATE TABLE命令结合PARTITION OF子句。
以下是每种方式的示例代码:
方式1:使用INHERITS
CREATE TABLE parent_table (
id INT PRIMARY KEY,
created_at DATE
)
CREATE TABLE child_table1 (
CHECK (created_at < '2020-01-01')
) INHERITS (parent_table)
CREATE TABLE child_table2 (
CHECK (created_at >= '2020-01-01')
) INHERITS (parent_table)方式2:使用PARTITION BY LIST
CREATE TABLE parent_table (
id INT PRIMARY KEY,
platform VARCHAR
) PARTITION BY LIST (platform)
CREATE TABLE parent_table FOR VALUES ('web')
CREATE TABLE parent_table FOR VALUES ('mobile')方式3:使用PARTITION OF
CREATE TABLE parent_table (
id INT PRIMARY KEY,
created_at DATE
)
CREATE TABLE child_table1 (
CHECK (created_at < '2020-01-01')
) PARTITION OF parent_table FOR VALUES ('web')
CREATE TABLE child_table2 (
CHECK (created_at >= '2020-01-01')
) PARTITION OF parent_table FOR VALUES ('mobile')每种方式都有其适用的场景,选择合适的方式取决于具体的分区策略和需求。
评论已关闭