|
|
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Опять я и опять с вопросом. Почему-то на этом форуме очень мало сообщений с примерами по обновлению бд с версии 9.1 до 9.3 Хотелось бы сделать это с минимальным простоем. Буду рад ссылке, если можно на русском языке, где в примерах показывается, как выполянется такой upgrade. Нашёл, что есть утилита pg_upgrade. Вопрос ещё, можно ли сразу обновиться с 9.1 до 9.3, или нужен промежуточный шаг обновления до 9.2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:01:17 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
авторIf you are using a version-specific installation directory, e.g. /opt/PostgreSQL/9.1, you do not need to move the old cluster у меня в 9.1 кластер находится тут: ?var/lib/postgresql/9.1/main ставился он как я понимаю через apt-get install postgresql как мне узнать, нужно ли мне удалять/перемещать старый кластер или нет? т.е. у меня version-specific installation directory или not version-specific ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:10:12 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
гуркевич, version-specific installation directory потому что номер версии упоминается в пути к каталогу данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:12:55 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
гуркевич, я так обновлял: Код: plaintext 1. 2. 3. 4. 5. это только check (проверка) если всё ок проходит, то убираем ключ -c и делаем реальный upgrade во время проверки и upgrade оба кластера (старый и новый) должны быть выключены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:17:19 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Ёш, а как сейчас со скоростью? В 2012 году я тестировал upgrade, получалось чуть ли не медленнее, чем при dump|restore. Размер около 50Гб, сильная дисковая и много ядер для pg_restore -j 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:32:40 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
у меня БД почти 500 Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:43:08 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
tadmin, "-k" - по сути мнгновенно. и еще немного/много врменеи на аналайзы минимальные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 20:00:28 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Наткнулся на этот топик, решая схожую задачу. У меня есть 2 сервера (SQL1, SQL2) с Postgresql 9.2.5 на Linux Debian с потоковой репликацией Master-Slave Сейчас руководство хочет перейти на 9.3, причем чем меньше даунтайм тем лучше, для нас это критично. Для этого перехода я написал краткий план, который прошу оценить уважаемых знатоков: 1. Установка на оба сервера postgresql 9.3, они поднимаются на порту 5433 2. Бекап конф. файлов на обоих серверах, замена конф. файла на SQL1 на старый от 9.2, правка параметра unix_socket_directory на unix_socket_directories, это нужно, проверил на тестовом сервере, затем проверяем что postgres 9.3 нормально запускается на SQL1 3. Остановка всех процессов postgresql на SQL1, затем тест pg_upgrade -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ -c если он успешен то сам переход pg_upgrade -k -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ потом правка конфига 9.3, меняем порт на 5432, и запускаем postgresql 9.3 4. Очередь сторого сервера. На slave SQL2 останавливаем postgresql 9.2, копируем конфиг от него в 9.3, и пересобираем репликацию. По последнему пункту есть некоторые сомнения, подскажите как лучше - использовать pg_upgrade, как на master'e и репликация сама поднимется, или вообще удалить postgresql 9.2, оставить только конфиг от него, подсунуть его 9.3, исправить ошибки и собрать репликацию "с нуля" Даунтайм SQL2 допускается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 12:18:41 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aamstДоброго времени суток! Наткнулся на этот топик, решая схожую задачу. У меня есть 2 сервера (SQL1, SQL2) с Postgresql 9.2.5 на Linux Debian с потоковой репликацией Master-Slave Сейчас руководство хочет перейти на 9.3, причем чем меньше даунтайм тем лучше, для нас это критично. Для этого перехода я написал краткий план, который прошу оценить уважаемых знатоков: 1. Установка на оба сервера postgresql 9.3, они поднимаются на порту 5433 2. Бекап конф. файлов на обоих серверах, замена конф. файла на SQL1 на старый от 9.2, правка параметра unix_socket_directory на unix_socket_directories, это нужно, проверил на тестовом сервере, затем проверяем что postgres 9.3 нормально запускается на SQL1 3. Остановка всех процессов postgresql на SQL1, затем тест pg_upgrade -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ -c если он успешен то сам переход pg_upgrade -k -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ потом правка конфига 9.3, меняем порт на 5432, и запускаем postgresql 9.3 4. Очередь сторого сервера. На slave SQL2 останавливаем postgresql 9.2, копируем конфиг от него в 9.3, и пересобираем репликацию. По последнему пункту есть некоторые сомнения, подскажите как лучше - использовать pg_upgrade, как на master'e и репликация сама поднимется, или вообще удалить postgresql 9.2, оставить только конфиг от него, подсунуть его 9.3, исправить ошибки и собрать репликацию "с нуля" Даунтайм SQL2 допускается. я бы очень не советовал пытаться использовать конфиг от 9.2 на 9.3 там куча опций убрана в 9.3 и что еще хуже куча опций добавлена в 9.3 конфиг... так что лучше перенести руками кастомные настройки из 9.2 конфига в 9.3 конфиг... спокойнее будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 14:26:45 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aamstДоброго времени суток! Наткнулся на этот топик, решая схожую задачу. У меня есть 2 сервера (SQL1, SQL2) с Postgresql 9.2.5 на Linux Debian с потоковой репликацией Master-Slave Сейчас руководство хочет перейти на 9.3, причем чем меньше даунтайм тем лучше, для нас это критично. Для этого перехода я написал краткий план, который прошу оценить уважаемых знатоков: 1. Установка на оба сервера postgresql 9.3, они поднимаются на порту 5433 2. Бекап конф. файлов на обоих серверах, замена конф. файла на SQL1 на старый от 9.2, правка параметра unix_socket_directory на unix_socket_directories, это нужно, проверил на тестовом сервере, затем проверяем что postgres 9.3 нормально запускается на SQL1 3. Остановка всех процессов postgresql на SQL1, затем тест pg_upgrade -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ -c если он успешен то сам переход pg_upgrade -k -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin -d /etc/postgresql/9.2/main/ -D /etc/postgresql/9.3/main/ потом правка конфига 9.3, меняем порт на 5432, и запускаем postgresql 9.3 4. Очередь сторого сервера. На slave SQL2 останавливаем postgresql 9.2, копируем конфиг от него в 9.3, и пересобираем репликацию. По последнему пункту есть некоторые сомнения, подскажите как лучше - использовать pg_upgrade, как на master'e и репликация сама поднимется, или вообще удалить postgresql 9.2, оставить только конфиг от него, подсунуть его 9.3, исправить ошибки и собрать репликацию "с нуля" Даунтайм SQL2 допускается. подойдёт ли такой вариант для перехода с 9.1 на 9.3? у меня также используется master->slave ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 09:52:05 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, Вообщем, осуществил я переход по своему плану. Мастер сервер обновил с помощью pg_upgrade, с параметром -k даунтайм составил 2 мин. Репликацию потом вручную восстановил. При попытке на слейве запустить pg_upgrade я получил ошибку что он не может записывать в базу где "только чтение", потому вручную слейв обновлял, и репликацию заного поднимал. А почему конфиг от 9.2 лучше не ставить на 9.3? Я именно так и сделал вообще-то, были некоторые тормоза при работе базы в начальные пару часов, потом все нормально, быстро работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:43:53 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
гуркевич, Думаю вам лучше перейти сначала на 9.2, а уже потом на 9.3 Советую отработать все на тестовом стенде, чтобы не наступать на грабли во время переноса боевой базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:45:29 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aamst, В 9.2.5 (сейас это последняя версия в 9.2) есть очень неприятный баг с репликой https://wiki.postgresql.org/wiki/Nov2013ReplicationIssue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:07:05 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
tadmin, Действительно, неприятный баг! Я правда у себя с таким не встречался, вроде как есть все данные. Кстати, на 9.3.1 это не исправили тоже. Там написано что: Who is at risk for this issue? Users who: are on one of the following PostgreSQL versions: 9.3.0, 9.3.1, 9.2.5, 9.1.10, and 9.0.14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:06:36 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aamst, у меня сейчас репликация работает на 9.1 после прочтения возник вопрос: стоит ли обновляться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:09:17 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
гуркевичу меня сейчас репликация работает на 9.1 после прочтения возник вопрос: стоит ли обновляться? Я бы подождал, но мы уже оказались на 9.2.5 -( Пишут, что исправление выйдет в начале декабря, т.е. очень скоро. Самое страшное в этом баге то, что можно промоутировать реплику до мастера и лишь потом обнаружить. На самом мастере проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 19:38:16 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
tadmin, там еще наш авитовский баг с фриз-вакуумом починят, чтобы он мог заканчиваться (патч уже был, у нас в бою поверх 925). 2ого декабря должен быть релиз 926. и еще должны баг успеть пофиксить с вакуумом при транкейте хвоста таблицы, что-то уже коммитили (а может это и позже только выйдет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 19:45:02 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, поправка http://www.postgresql.org/docs/devel/static/release-9-3-2.html релиз в их четверг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 15:38:22 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Подскажите, почему Postgresql хочет видеть директорию base в /etc/postgresql/9.1/main/??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 13:33:26 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aquqrius Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Подскажите, почему Postgresql хочет видеть директорию base в /etc/postgresql/9.1/main/??? потому что вы ему сказали там смотреть: автор-d /etc/postgresql/9.1/main/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 14:45:13 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Скажите, правильно ли я понимаю, что утилиту pg_upgrade нужно запускать из версии 9.1, а не 9.3.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 16:25:59 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aquqrius, из той, на которую мигрируете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 17:06:04 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Ёшaquqrius, из той, на которую мигрируете. если мигрирую с 9.1 на 9.3, то тогда так выходит? получаю ошибку: The data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2. что делать? пробовать ставить 9.2 и мигрировать аналогично туда, а потом с 9.2 на 9.3? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 18:07:15 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
aquqriusесли мигрирую с 9.1 на 9.3, то тогда так выходит? нет, не так выходит. forward compatibility в software ещё не изобрели. запускайте новую версию UPGRADE из 9.3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 19:53:28 |
|
||
|
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
|
|||
|---|---|---|---|
|
#18+
Lonepsychoaquqriusесли мигрирую с 9.1 на 9.3, то тогда так выходит? нет, не так выходит. forward compatibility в software ещё не изобрели. запускайте новую версию UPGRADE из 9.3. не понял Вас. я же запускал pg_upgrade из каталога новой версии 9.3, а не 9.1 так я так и делал: Код: plsql 1. 2. и получил ошибку в логе: The data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. вот содержимое лога pg_upgrade_server.log: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Подскажите, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 11:04:56 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38474774&tid=1998850]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 191ms |
| total: | 484ms |

| 0 / 0 |
