2013-03-29 6 views
1

Я новичок в Postgres/PostGIS, в настоящее время следуя книге PostGIS. Когда я попробовал один из запросов своего примера, я получил ошибку ниже, указав, что relation "pk" already exists. Означает ли это, что 2 таблицы не могут иметь ограничений с одинаковыми именами?Отношение «pk» уже существует в Postgresql 9.1

Запрос:

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 

ответ

1

Да. Вам нужно использовать другое имя в базе данных

+1

s/в базе данных/в * схеме * –