PostgreSQL 9.2;更改表格以使用另一个序列

Jam*_*mes 5 postgresql postgresql-9.2

我创建了一个像这样的表:

create table doki_data_item2 (like doki_data_item including defaults);
Run Code Online (Sandbox Code Playgroud)

但是这个新表使用与旧表相同的顺序。

所以两个问题:

  1. 如何轻松复制和表格以及必要的序列?
  2. 如何用另一个序列替换一个表上的序列?

Fab*_*oni 9

为什么不创建一个新序列:

create sequence new_sequence;

然后创建新表

create table doki_data_item2 (like doki_data_item including defaults);

最后修改使用旧序列的列以使用新序列:

alter table doki_data_item2 alter column seq_column set default nextval('new_sequence');

您显然可以为新创建的序列设置各种参数以满足您的需要。

  • 还有`ALTER SEQUENCE`将序列所有者设置为表。 (2认同)