1

私は Postgres/PostGIS が初めてで、現在 PostGIS の本を読んでいます。彼らの例のクエリの1つを試したところ、以下のエラーが表示され、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
4

1 に答える 1

1

はい。データベース内で別の名前を使用する必要がある

于 2013-03-29T15:07:15.083 に答える