Вопрос

Я играю с 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

http://www.postgresql.org/docs/9.0/static/app-pgdump.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top