Дамп и восстановление на том же сервере, но другой базы данных в postgresql - PullRequest
0 голосов
/ 17 октября 2018

Я сбросил базу данных и попытался восстановить на том же сервере, но в другой базе данных с другим пользователем, и получил некоторую ошибку, потому что в дампе есть какая-то таблица изменений исходного пользователя.

Я сделал это сэто команды:

Дамп:

pg_dump --format=c -W -h remote.server -U originaluser originaldatabase >somefile.sql

Восстановление:

pg_restore -W -h remote.server -U destuser --dbname=destdatabase somefile.sql

Как я могу сделать дамп, как mysqldump в mysql?Поэтому, когда я импортирую дамп, индекс и таблицы принадлежат пользователю, который выполняет импорт.

Спасибо.

PD: Я тоже пытаюсь использовать psql с этой строкой:

psql -h remote.server -W -U destuser destdatabase < somefile.sql

Ошибка, которую я получил, состоит в том, что последовательность уже существует, в некоторых таблицах есть serial8, поэтому есть функция и последовательность.Как экспортировать с разными именами или импортировать в новую базу данных без этой ошибки?

Спасибо.

1 Ответ

0 голосов
/ 17 октября 2018

Я нашел мою проблему, когда вы удаляете таблицу, вы не удаляете последовательность.Вы должны удалить последовательность тоже.

Ошибка произошла из-за того, что последовательность уже существует и не хранится в таблице.Вы должны удалить таблицу и последовательности, чтобы заглянуть внутрь таблицы для всех последовательностей, чтобы вы могли удалить правильные.

Спасибо.

...