【问题标题】:Relation "pk" already exists in Postgresql 9.1Postgresql 9.1 中已经存在关系“pk”
【发布时间】:2013-03-20 07:23:02
【问题描述】:

我是 Postgres/PostGIS 的新手,目前正在阅读 PostGIS 书籍。当我尝试他们的示例查询之一时,我收到以下错误,指出 relation "pk" already exists.这是否意味着2个表不能有同名的约束?

查询:

CREATE TABLE roads(gid serial PRIMARY KEY, road_name character varying(100));
SELECT AddGeometryColumn('public', 'roads', 'geom', 4269, 'LINESTRING',2);

CREATE TABLE roads_NE(CONSTRAINT pk PRIMARY KEY (gid))
INHERITS (roads);

ALTER TABLE roads_NE
ADD CONSTRAINT chk CHECK (state
IN ('MA', 'ME', 'NH', 'VT', 'CT', 'RI'));

CREATE TABLE roads_SW(CONSTRAINT pk PRIMARY KEY (gid))
INHERITS (roads);

ALTER TABLE roads_SW
ADD CONSTRAINT chk CHECK (state IN ('AZ', 'NM', 'NV'));

错误:

NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pk" for table "roads_sw"


ERROR:  relation "pk" already exists

********** Error **********

ERROR: relation "pk" already exists
SQL state: 42P07

【问题讨论】:

    标签: sql postgresql postgis postgresql-9.1 psql


    【解决方案1】:

    是的。您需要在数据库中使用不同的名称

    【讨论】:

    • s/在数据库中/在模式
    猜你喜欢
    • 2015-07-02
    • 2017-05-19
    • 2021-11-04
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 2021-05-12
    相关资源
    最近更新 更多