Перенос базы данных PostgreSQL в Google Cloud Platform (GCP), когда структура каталогов различна
У меня есть предварительная виртуальная машина SUSE 12 sp3 с базой данных PostgreSQL 10 объемом около 45 ГБ.
У меня также есть образ / экземпляр Google Cloud Platform (GCP) сервера SUSE 12 sp3 с базой данных PostgreSQL 10, в котором еще нет данных БД.
Структура и настройка каталогов GCP немного отличается от локальной директории и настроек файлов VM, но они оба PostgreSQL 10. Мне больше нравится структура каталогов GCP setup/install/, поэтому я не хочу ее менять.
Я хочу перенести как можно большую часть данных из локальной базы данных в базу данных GCP. Когда я закончу, базы данных должны быть идентичны, но структура каталогов будет другой.
Я новичок в GCP. Это тест-драйв. Моя новая база данных должна находиться на региональном хранилище (не на близкой или холодной линии или на нескольких региональных).
Моя текущая стратегия заключается в следующем:
- использование
pg_dumpall > db.out
на моем старом на прем дБ - сохрани это
db.out
файл на наш файловый сервер Windows VM, к которому у меня есть доступ через подключенный диск на моей рабочей станции. - на консоли GCP через мою рабочую станцию перейдите в раздел "Хранилище", выберите мой контейнер, загрузите файлы и загрузите файл db.out в контейнер, в котором находятся мои экземпляры.
- использование
psql -f db.out postgres
загрузить данные, роли и т. д. в мой новый экземпляр GCP.
Это надежный способ сделать это? Будет ли это работать, несмотря на различные структуры каталогов? Есть ли лучший способ сделать это? Трюки или подводные камни?
Ссылка: http://www.postgresql.org/docs/current/static/app-pg-dumpall.html
(Я все еще ищу полезную ссылку GCP, следовательно вопрос.)
Обратите внимание, под "структурой каталогов" я имею в виду структуру каталогов серверов. Структура каталогов изменилась, потому что я установил PostgreSQL 10 по-другому (так, как я этого хочу) на своем экземпляре GCP.
Спасибо!
PS - Это было на SO, но он удалил его и переместил вопрос сюда, надеясь получить больше тяги. Я вижу, что другие вопросы перемещаются или переносятся, но я не заметил способа сделать это, по крайней мере, с моим текущим уровнем доверия. Кроме того, я собирался поместить его в Администраторы базы данных сайта Stack Exchange, пока не увидел, что только два человека следят за тегом Google-Cloud. Предложения приветствуются в этом отношении.
1 ответ
Вывод базы данных в sql, перенос ее на удаленный компьютер, а затем импорт базы данных через sql, как вы уже сделали, - это совершенно нормальный способ достичь того, чего вы хотите. Структура диска не должна быть проблемой.