pg_upgradecluster отнимает слишком много времени (около 8 часов для базы данных 165 ГБ). - PullRequest
1 голос
/ 28 июня 2019

Я пытаюсь обновить postgres-9.3 до postgres-10 с размером базы данных около 165 ГБ. Я использую "sudo pg_upgradecluster 9.3 main", чтобы сделать это, но это занимает около 8 часов, что является слишком большим временем простоя для моего живого веб-приложения. Любые предложения, чтобы сделать это лучше с меньшим временем простоя и быстрее.

1 Ответ

1 голос
/ 28 июня 2019

Вы можете указать pg_upgradecluster , чтобы использовать инструмент pg_upgrade Postgres с опцией --link, которая должна завершиться в минутах, а не часах:

pg_upgradecluster --method=upgrade --link ......

Обратите внимание, что --link не будет копировать ваши данные, поэтому единственный способ отменить обновление - восстановить последнюю резервную копию до установки 9.3.

Цитата из руководства Postgres

Если вы используете режим связи, обновление будет намного быстрее (без копирования файлов) и будет занимать меньше места на диске, но вы не сможете получить доступ к своему старому кластеру после запуска нового кластера после обновления.

...

Если вы хотите использовать режим связи и не хотите, чтобы ваш старый кластер изменялся при запуске нового кластера, сделайте копию старого кластера и обновите ее в режиме связи. Чтобы создать действительную копию старого кластера, используйте rsync для создания грязной копии старого кластера во время работы сервера, затем выключите старый сервер и снова запустите rsync --checksum, чтобы обновить копию с любыми изменениями, чтобы сделать ее последовательны.

...