@700ghz

Копировать данные между двумя базами данных?

Всем привет!
* Есть два инстанса БД: поломанная БД (случайно выполнен плохой запрос) и восстановленная
* Теперь нужно взять данные из восстановленной БД и записать в поломанную чтобы ее пофиксить (например скопировать все emails из users table)

* как скопировать эти данные? можно ли выполнить запрос между разными БД (postgres)? или нужно сделать дамп таблицы, затем восстановить табицу по дампу? или экспортировать в csv затем писать скрипт который парсит ?

Как это делают нормальные люди в реальных условия?

Спасибо!
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
FDW, dblink, pg_dump, copy to/copy from, написание отдельного скрипта на любом прикладном языке - что вам проще и какая возможность доступна - так и делается.
Лишь только не перепутать местами источник и целевую базу.

Например, на восстановленной базе переименовать табличку, pg_dump -t имя_таблички, импортировать в боевую базу
Или взять pg_dump -s -t проблемная табличка, \copy в локальный файл данных, \copy из файла в пустую временную табличку
А имея под рукой рядом оригинальную и восстановленную табличку уже править данные в ней
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы