如何使用 PostgreSQL link 一个字段的序列?

How to link a sequence to a field with PostgreSQL?

在 postgreSQL 9.6 的文档中,它说有序列等价物,我们必须 link 字段的序列。

https://www.postgresql.org/docs/9.6/datatype-numeric.html (¤ 8.1.4)

我完全应用了相同的代码:

CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1; 

CREATE TABLE import_trame (
    id integer NOT NULL DEFAULT nextval('seq_import_trame'), 
    ...,
    CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;

但是我在使用 pgAdmin 执行脚本时出错。

关系 "seq_import_trame" 已经存在。
代码:42P07
第 8 行:改变序列......

很奇怪,因为42P07错误是duplicate_table。 如果我们不创建 link,当我们删除 table.

时,序列不会被删除

有什么想法吗?

我发现数据库没有问题 Fiddle:

架构 (PostgreSQL v9.6)

CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1; 

CREATE TABLE import_trame (
    id integer NOT NULL DEFAULT nextval('seq_import_trame'), 
    CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;

View on DB Fiddle

再次检查您的脚本。