У меня есть локальная виртуальная машина SUSE 12 sp3 с базой данных PostgreSQL 10 размером около 45 ГБ.
У меня также есть образ / экземпляр Google Cloud Platform (GCP) сервера SUSE 12 sp3 с базой данных PostgreSQL 10, в котором еще нет данных db.
Структура и настройка каталогов GCP немного отличаются от локального каталога и настройки файлов виртуальной машины, но они оба являются PostgreSQL 10. Мне больше нравится структура каталогов GCP setup / install /, поэтому я не хочу ее менять.
Я хочу передать как можно больше данных из локальной базы данных в базу данных GCP. Когда я закончу, базы данных должны быть идентичными, но структура каталогов будет другой.
Я новичок в GCP. Это тест-драйв. Моя новая база данных должна находиться в региональном хранилище (не в ближайшем, холодном или мультирегиональном).
Моя текущая стратегия:
pg_dumpall > db.out
на моей старой локальной базе данныхdb.out
на наш файловый сервер Windows VM, к которому у меня есть доступ через подключенный диск на моей рабочей станции.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. Предложения по этому поводу приветствуются.
Выгрузка базы данных в sql, передача ее на удаленный компьютер, а затем импорт базы данных через sql, как вы это сделали, - это совершенно нормальный способ добиться желаемого. Структура на диске действительно не должна быть проблемой.