Postgres 创建分区表的三种方式
在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')
每种方式都有其适用的场景,选择合适的方式取决于具体的分区策略和需求。
评论已关闭