Запустите восстановление на работающей базе данных.Что просходит? - PullRequest
0 голосов
/ 09 февраля 2019

Что происходит, когда я запускаю:

zcat /mnt/Postgres/restoreFile.gz | psql my_db

в рабочей базе данных и после выполнения ALTER TABLE и других стандартных вещей были проблемы с duplicated keys.Когда я остановил его и попытался вставить в базу данных, я получил ошибку duplicates key из-за sequences и constraints.Кажется, что все данные, но как насчет последовательностей.Что на самом деле произошло с этой базой данных?

1 Ответ

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

Обычная резервная копия Postgres состоит из таблицы (например, create table) и операторов данных (например, insert).Если вы запустите его дважды, большинство проектных предложений потерпит неудачу.Операторы insert будут успешны, поскольку определение данных допускает дублирование строк.

Таким образом, восстановление базы данных на рабочем сервере обычно приводит к появлению большого количества дублирующихся строк в таблицах без первичного ключа.Некоторые изменения в дизайне, сделанные после резервного копирования (например, изменение владельца таблицы), могут быть отменены.

...