pg_dump игнорируя последовательность таблицы?
-
25-09-2019 - |
Вопрос
Я играю с PostgreSQL в последнее время, и у меня проблемы с пониманием, как резервное копирование и восстановление одной таблицы.
Я использовал PGADMIN3 для резервного копирования одной таблицы в моей базе данных, чтобы скопировать его на другой сервер. Когда я пытаюсь сделать PG_RESTORE в файле, я получаю сообщения об ошибках, говоря, что последовательность не существует:
pg_restore: [archiver (db)] could not execute query: ERROR: relation "businesses_id_seq" does not exist
Command was:
CREATE TABLE businesses (
id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
name character varyin...
Похоже, что файл дампа не включает в себя последовательность для моей автоматической наращивающей колонны. Как мне получить это, чтобы включить это?
Решение
Только за счет стола - бросит только стол. Вам нужно сбросить последовательность отдельно в дополнение к таблице.
Если вы не знаете свою последовательность, вы можете перечислить ее \d yourtable
в PSQL. Вы увидите что-то в ряд, ваша последовательность на это выглядит: nextval('yourtable_id_seq'::regclass')
Затем из командной строки, pgdump -t yourtable_id_seq