将 postgres 分区添加到现有 table
add postgres partitioning to existing table
所有示例显示:
CREATE TABLE ... PARTITION BY ...
这有点荒谬,因为只有在数据集变得太大时才会使用分区,根据定义,这不会是新的 table。如果有人正在使用分区制作新的 table,我认为几乎任何人都会批评这是过早的优化。
只需创建分区 table 并将现有 table 作为分区附加:
create table test (a int);
insert into test select generate_series(1,10);
alter table test_parent attach partition test DEFAULT;
select * from test_parent;
a
----
1
2
3
4
5
6
7
8
9
10
(10 rows)
您也可以重命名 table。但是,如果这样做,您将需要重新定义指向原始 table.
的任何视图
所有示例显示:
CREATE TABLE ... PARTITION BY ...
这有点荒谬,因为只有在数据集变得太大时才会使用分区,根据定义,这不会是新的 table。如果有人正在使用分区制作新的 table,我认为几乎任何人都会批评这是过早的优化。
只需创建分区 table 并将现有 table 作为分区附加:
create table test (a int);
insert into test select generate_series(1,10);
alter table test_parent attach partition test DEFAULT;
select * from test_parent;
a
----
1
2
3
4
5
6
7
8
9
10
(10 rows)
您也可以重命名 table。但是,如果这样做,您将需要重新定义指向原始 table.
的任何视图