PolarDB PostgreSQL版创建分区表的语法完全兼容PostgreSQL。本文详细介绍了其语法及创建不同类型分区表的示例。
语法说明
CREATE TABLE [ IF NOT EXISTS ] table_name ( [
{ column_name data_type [ COMPRESSION compression_method ] [ COLLATE collation ] [ column_constraint [ ... ] ]
| table_constraint
| LIKE source_table [ like_option ... ] }
[, ... ]
] )
PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) }
[ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS ]
[ TABLESPACE tablespace_name ]
说明
PolarDB PostgreSQL版完全兼容PostgreSQL。关于创建分区表的详细语法说明,请参考PostgreSQL文档。
示例
创建范围分区表
CREATE TABLE tab_range(id int, value int)PARTITION BY RANGE (id);
创建列表分区表
CREATE TABLE tab_list(id int, value int)PARTITION BY list (id);
创建哈希分区表
CREATE TABLE tab_hash(id int, value int)PARTITION BY hash (id);
注意事项
在PolarDB PostgreSQL版中创建分区表时,默认没有任何分区。此时插入数据会报错, 因为它不能被定位到某个分区。您需要先新建分区,然后再向特定分区中插入数据。
虽然在PostgreSQL中没有限制,但是我们建议在PolarDB PostgreSQL版中分区不要超过三级。
文档内容是否对您有帮助?