postgresql删除表

Rus*_*ell 3 postgresql

我有两个表(tbl和tbl_new)都使用相同的序列(tbl_id_seq).我想放弃其中一张桌子.在tbl上,我删除了修饰符"not null default nextval('tbl_id_seq':: regclass)"但该修饰符仍保留在tbl_new上.我收到以下错误:

错误:无法删除表tbl,因为其他对象依赖于它DETAIL:表tbl_new列id的默认值取决于序列tbl_id_seq

在查看http://www.postgresql.org/docs/9.1/static/sql-droptable.html之后 看起来只有CASCADE和RESTRICT作为选项.

Mil*_*dev 6

您需要序列和它所属的表解耦为:

ALTER SEQUENCE "tbl_id_seq" OWNED BY NONE;
Run Code Online (Sandbox Code Playgroud)

我想它是通过定义as 的字段自动创建的(并且"绑定").tbl_idtblSERIAL