Я пытался импортировать sql файл в 1 таблицу в Heroku postgresql.
Я следовал за ответом здесь: { ссылка }
# Dump specific table data
pg_dump --data-only --table=products sourcedb > products.sql
# Get connection info
heroku config | grep HEROKU_POSTGRESQL
# example
# postgres://user3123:passkja83kd8@ec2-117-21-174-214.compute-1.amazonaws.com:6212/db982398
# Import file
psql -h ec2-117-21-174-214.compute-1.amazonaws.com -p 6212 -U user3123 db982398 < products.sql
Однако я столкнулся с этой ошибкой:
ERROR: duplicate key value violates unique constraint "products_pkey"
DETAIL: Key (id)=(1) already exists.
CONTEXT: COPY products, line 1
Это означает, что строка существует, поэтому ее невозможно скопировать.
Я подумал о следующем
ALTER TABLE products RENAME to original_products
CREATE TABLE products;
# import data, and drop original_products after checking
DROP TABLE original_products
Однако, Я не знаю, каковы потенциальные побочные эффекты. Я предпочитаю решение, которое не отбрасывает ни одной таблицы.
Я хочу заменить всю таблицу продуктов данными файла sql. Как я могу это сделать? Спасибо!