創(chuàng)建分區(qū)表
更新時間:
PolarDB PostgreSQL版(兼容Oracle)創(chuàng)建分區(qū)表的語法完全兼容PostgreSQL。本文詳細(xì)介紹了其語法及創(chuàng)建不同類型分區(qū)表的示例。
語法說明
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 ]
示例
創(chuàng)建范圍分區(qū)表
CREATE TABLE tab_range(id int, value int)PARTITION BY RANGE (id);
創(chuàng)建列表分區(qū)表
CREATE TABLE tab_list(id int, value int)PARTITION BY list (id);
創(chuàng)建哈希分區(qū)表
CREATE TABLE tab_hash(id int, value int)PARTITION BY hash (id);
注意事項
在PolarDB PostgreSQL版(兼容Oracle)中創(chuàng)建分區(qū)表時,默認(rèn)沒有任何分區(qū)。此時插入數(shù)據(jù)會報錯, 因為它不能被定位到某個分區(qū)。您需要先新建分區(qū),然后再向特定分區(qū)中插入數(shù)據(jù)。
雖然在PostgreSQL中沒有限制,但是我們建議在PolarDB PostgreSQL版(兼容Oracle)中分區(qū)不要超過三級。
文檔內(nèi)容是否對您有幫助?