Обновление Gcloud SQL Postgres 9,6 до 11 - PullRequest
0 голосов
/ 20 сентября 2019

Я хотел бы иметь возможность обновить существующий экземпляр cloudql postgres 9.6 до 11, чтобы использовать некоторые новые функции pg 11.

Я пытался найти хороший план миграции, но похоже, чтоЕдинственный доступный вариант - восстановление и восстановление памяти.База данных 100Gig +, так что это займет довольно много времени, и я бы хотел как можно больше избежать простоев.Есть ли варианты?Я подумывал включить ведение журнала операторов: log_statement = mod, создать дамп, импортировать его в экземпляр pg-11, снять db +, а затем очистить журналы, чтобы ответить на последние обновления в экземпляр pg-11, загрузив журналы и записавскрипт для повторного запуска вставок.Кажется выполнимым, но не очень приятным.

Мне интересно, сталкивался ли кто-нибудь с этим раньше и имел ли какие-либо другие решения?

1 Ответ

1 голос
/ 20 сентября 2019

Postgres 11 в облаке SQL все еще находится в Beta .Не рекомендуется использовать продукт в бета-версии в производственной среде.

Однако, если вы решите продолжить, вы должны экспортировать данные , создав дамп SQL илипоместить данные в файл .csv (в зависимости от ваших потребностей) (лучшие практики) создать экземпляр Postgres 11 , а затем импортировать данные .

Для данных, которых не будет в дампе, вы можете:

a) Сделать то, что вы предложили, зарегистрировав запросы, а затем повторно запустить вставки

b) Создайте дамп, импортируйте его на новый экземпляр, сделайте его живым, а затем снова сделайте еще один дамп старого, сравните, чтобы удалить дубликаты и импортируйте различия.Это будет сложно, если у вас есть автоинкрементные первичные ключи.

c) Создайте схему в экземпляре Postgres 11 и разверните ее.Затем создайте дамп и импортируйте его позже.Если у вас есть первичные ключи с автоматическим приращением, измените схему так, чтобы она начиналась со значения, которое вы хотите.

...