复制Postgres表,同时保持主键自动增量

时间:2013-03-06 03:01:52

标签: postgresql

我正在尝试使用此postgres命令复制表,但主键自动增量功能不会复制。有没有快速简单的方法来实现这一目标?谢谢!

CREATE TABLE table2 AS TABLE table;

1 个答案:

答案 0 :(得分:7)

这就是我要做的事情:

BEGIN;
LOCK TABLE oldtable; 
CREATE TABLE newtable (LIKE oldtable INCLUDING ALL);
INSERT INTO newtable SELECT * FROM oldtable;
SELECT setval('the_seq_name', (SELECT max(id) FROM oldtable)+1);
COMMIT;

......虽然这是一个需要做的中等不寻常的事情,但我会对你要解决的问题感兴趣。

相关问题