162: ОШИБКА: значение дублированного ключа нарушает уникальное ограничение «article_pkey», когда я пытаюсь запустить команду: psql newsdata.sql - PullRequest
0 голосов
/ 25 февраля 2019

Я получаю это, когда пытаюсь подключить свою БД, когда запускаю следующее

psql newsdata.sql

, вот весь вывод

vagrant@vagrant:/vagrant$ psql -d news -f newsdata.sql
SET
SET
SET
SET
SET
SET
SET
SET
SET
psql:newsdata.sql:31: ERROR:  relation "articles" already exists
ALTER TABLE
psql:newsdata.sql:45: ERROR:  relation "articles_id_seq" already exists
ALTER TABLE
ALTER SEQUENCE
psql:newsdata.sql:65: ERROR:  relation "authors" already exists
ALTER TABLE
psql:newsdata.sql:79: ERROR:  relation "authors_id_seq" already exists
ALTER TABLE
ALTER SEQUENCE
psql:newsdata.sql:102: ERROR:  relation "log" already exists
ALTER TABLE
psql:newsdata.sql:116: ERROR:  relation "log_id_seq" already exists
ALTER TABLE
ALTER SEQUENCE
ALTER TABLE
ALTER TABLE
ALTER TABLE
psql:newsdata.sql:162: ERROR:  duplicate key value violates unique constraint "articles_pkey"
DETAIL:  Key (id)=(23) already exists.
CONTEXT:  COPY articles, line 1
 setval
--------
     30
(1 row)

psql:newsdata.sql:181: ERROR:  duplicate key value violates unique constraint "authors_pkey"
DETAIL:  Key (id)=(1) already exists.
CONTEXT:  COPY authors, line 1
 setval
--------
      4
(1 row)

psql:newsdata.sql:1677931: ERROR:  duplicate key value violates unique constraint "log_pkey"
DETAIL:  Key (id)=(1678923) already exists.
CONTEXT:  COPY log, line 1
 setval
---------
 3356657
(1 row)

psql:newsdata.sql:1677946: ERROR:  multiple primary keys for table "articles" are not allowed
psql:newsdata.sql:1677954: ERROR:  relation "articles_slug_key" already exists
psql:newsdata.sql:1677962: ERROR:  multiple primary keys for table "authors" are not allowed
psql:newsdata.sql:1677970: ERROR:  multiple primary keys for table "log" are not allowed
psql:newsdata.sql:1677978: ERROR:  constraint "articles_author_fkey" for relation "articles" already exists

Я просто не понимаю, что такое дублированный ключтак что я могу это исправить, я новичок, не могли бы вы дать подробный ответ на это?даже если это просто ссылка для проверки, это очень поможет.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

решена.Проблема была в том, что я запускал эту команду раньше, поэтому теперь я попробовал psql -d news, и она сработала.на выходе показывается таблица отношений

0 голосов
/ 25 февраля 2019

ДЕТАЛИ: Ключ (id) = (23) уже существует.ПОДРОБНОЕ: Ключ (id) = (1) уже существует.

Сценарий попытался вставить id = 23 или id = 1, но эти значения уже находятся в таблице.

Таким образом, уникальное ограничение нарушено, икаждый кортеж не имеет уникального идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...