%2C%20%D0%B5%D1%81%D0%BB%D0%B8%20%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F.png)
У меня есть локальная виртуальная машина SUSE 12 sp3 с базой данных PostgreSQL 10 объемом около 45 ГБ.
У меня также есть образ/экземпляр Google Cloud Platform (GCP) сервера SUSE 12 sp3 с базой данных PostgreSQL 10, в котором пока нет данных базы данных.
Структура каталога и настройки GCP немного отличаются от каталога и настройки файлов локальной виртуальной машины, но они оба относятся к PostgreSQL 10. Мне больше нравится структура настройки/установки/каталога GCP, поэтому я не хочу ее менять.
Я хочу перенести как можно больше данных из локальной базы данных в базу данных GCP. Базы данных должны быть идентичны, когда я закончу, но структура каталогов будет другой.
Я новичок в GCP. Это тест-драйв. Моя новая база данных должна быть на региональном хранилище (не nearline, coldline или multi-regional).
Моя текущая стратегия такова:
- использовать
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 Database Administrators, пока не увидел, что только два человека следят за тегом Google-Cloud. Предложения по этому поводу приветствуются.
решение1
Сброс базы данных в sql, перенос ее на удаленную машину, а затем импорт базы данных через sql, как вы сделали, — это совершенно нормальный способ добиться желаемого. Структура на диске действительно не должна быть проблемой.