Как я могу клонировать всю базу данных из одного экземпляра Postgres, чтобы стать частью базы данных, размещенной в другом экземпляре? - PullRequest
1 голос
/ 09 января 2020

У меня есть PostgreSQL экземпляр A с 10 таблицами, а другой экземпляр B размещен в другом окне, которое содержит те же 10 таблиц, но также и многие другие. Я хотел бы клонировать все 10 таблиц из небольшой базы данных A, чтобы перезаписать их эквиваленты в большей базе данных B. Какой хороший способ сделать это?

Один из способов, который я рассматриваю, - это сделать полное pg_dump из A, скопировать этот файл дампа на хост B, затем pg_restore it в B. Кажется, это должно работать, так как я хочу, чтобы каждая таблица на A перезаписывала таблицу с тем же именем на B, но я немного нервничаю, делая pg_restore полного дампа базы данных, и Я также не очень знаком с pg_dump и pg_restore, поэтому было бы здорово, если бы этот план был подтвержден кем-то более знающим.

1 Ответ

0 голосов
/ 09 января 2020

Вы можете использовать простой формат pg_dump с опцией --clean и указать таблицы, которые вы хотите вывести с помощью -t.

Затем вы получите скрипт SQL, который содержит только таблицы Вы хотите заменить, и перед каждой таблицей стоит DROP TABLE.

. Вы можете проверить скрипт перед его использованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...