Size: a a a

pgsql – PostgreSQL

2021 March 11

SB

Sergey Bezrukov in pgsql – PostgreSQL
Михаил Шурутов
В отсутствии докера. Распишите, пожалуйста, пошагово процедуру обновления ПГ в докере в конфигурации мастер-реплика.
Откуда взялась мастер-реплика?  Докер - это для разработки большей частью.
источник

b

batyrmastyr in pgsql – PostgreSQL
Михаил Шурутов
Попробуйте обновить мажорную версию.
Вы ведь про обновление самого докера?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
batyrmastyr
Вы ведь про обновление самого докера?
Нет, я про обновление ПГ в докере.
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
постгрес в докере все равно же использует примонтированный каталог ?
останавливаем докер
обновляем каталог с постгресом
запускаем докер с постгресом новой версии
реплику синхним через rsync (с остановкой и запуском докера)

сам я докер не использую, но процесс представляю себе примерно так
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Sergey Bezrukov
Откуда взялась мастер-реплика?  Докер - это для разработки большей частью.
Я не занимаюсь поддержкой разработки. Только и исключительно пром, который обслуживает внешних клиентов. Как показывает практика, то, что используется при разработке, так называемые "архитекторы" от словосочетания "идиоты безмозглые" пытаются протащить и в пром. Ну у меня же на ноутбуке, деве всё работает!
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Михаил Шурутов
Я не занимаюсь поддержкой разработки. Только и исключительно пром, который обслуживает внешних клиентов. Как показывает практика, то, что используется при разработке, так называемые "архитекторы" от словосочетания "идиоты безмозглые" пытаются протащить и в пром. Ну у меня же на ноутбуке, деве всё работает!
без нагрузки и реальных объемов данных, ага, все работает ))
источник

SB

Sergey Bezrukov in pgsql – PostgreSQL
Михаил Шурутов
Я не занимаюсь поддержкой разработки. Только и исключительно пром, который обслуживает внешних клиентов. Как показывает практика, то, что используется при разработке, так называемые "архитекторы" от словосочетания "идиоты безмозглые" пытаются протащить и в пром. Ну у меня же на ноутбуке, деве всё работает!
Тогда понятно. В высоконагруженную систему лучше лишних уровней не запихивать, тут согласен, конечно.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Сергей Кравчук
без нагрузки и реальных объемов данных, ага, все работает ))
Вот именно! На прошлой работе один такой архитектор ваял скрипты для миграций. 50+ тыс записей вставлял отдельными INSERT-ами. У него на деве всё быстро проходило, меньше минуты.
источник

b

batyrmastyr in pgsql – PostgreSQL
Михаил Шурутов
Вот именно! На прошлой работе один такой архитектор ваял скрипты для миграций. 50+ тыс записей вставлял отдельными INSERT-ами. У него на деве всё быстро проходило, меньше минуты.
На деве SSD, а на боевом - HDD, так?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
batyrmastyr
На деве SSD, а на боевом - HDD, так?
Не так. 50 тыс записей и нагруженный проект и по записи, и по чтению.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Sergey Bezrukov
Тогда понятно. В высоконагруженную систему лучше лишних уровней не запихивать, тут согласен, конечно.
Самое интересное в этой фразе - лишние уровни. Ибо при любой, даже паравиртуализации, этот лишний уровень появляется. А если ещё и используются тома системы виртуализации, а не проброс физических устройств в витруалку, то чудеса с вводом/выводом гарантированы.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Кравчук
постгрес в докере все равно же использует примонтированный каталог ?
останавливаем докер
обновляем каталог с постгресом
запускаем докер с постгресом новой версии
реплику синхним через rsync (с остановкой и запуском докера)

сам я докер не использую, но процесс представляю себе примерно так
> обновляем каталог с постгресом

Просто ради любопытства — как делается вот эта часть, "снаружи" (я к тому, что в норме тут нужны binaries двух версий PostgreSQL)?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Yaroslav Schekin
> обновляем каталог с постгресом

Просто ради любопытства — как делается вот эта часть, "снаружи" (я к тому, что в норме тут нужны binaries двух версий PostgreSQL)?
вот я когда описал, тоже подумал что в данном варианте на вм наверно и нет пакетов постгреса )

но теоретически их можно поставить ..

как же, гипотетически, если данные находятся на отдельно диске в среде виртуализации
то можно их отмонтировать и примонтировать к другом машине, где есть пакеты и обновить там, а затем вернуть обратно..
немного бредово, согласен, но ведь работать будет ? )

ну или , как вариант, поднять с этим вольюмом докер с двумя (незапущенными) версиями постгреса
и провести обновление внутри контейнера докер-композа

уверен можно еще несколько вариантов придумать )
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Yaroslav Schekin
> обновляем каталог с постгресом

Просто ради любопытства — как делается вот эта часть, "снаружи" (я к тому, что в норме тут нужны binaries двух версий PostgreSQL)?
человек который умеете докер, собрать образ с двумя версиями постгреса под задачу апгрейда на составит большого труда
источник

b

batyrmastyr in pgsql – PostgreSQL
Alexey Lesovsky
навскидку, не использовать волюмы, там где важно сохранить данные
Гм. Вы про любые их виды в исполнении докера или про какой-то конкретный?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Т.е., по большому счёту, максимальный уровень "виртуализации" для СУБД - это контейнеры (вот я и посмотрю, кто понимает значение этого слова, хых). Паравиртуализация - это для функционального тестирования.
ЗЫ. Не вижу никаких проблем поднять ту же виртуалку в xen-е. Там рукоблудия поменее будет, нежели в докере.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Alexey Lesovsky
человек который умеете докер, собрать образ с двумя версиями постгреса под задачу апгрейда на составит большого труда
И как вы pg_upgrade-у расскажете про эти докеры?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Кравчук
вот я когда описал, тоже подумал что в данном варианте на вм наверно и нет пакетов постгреса )

но теоретически их можно поставить ..

как же, гипотетически, если данные находятся на отдельно диске в среде виртуализации
то можно их отмонтировать и примонтировать к другом машине, где есть пакеты и обновить там, а затем вернуть обратно..
немного бредово, согласен, но ведь работать будет ? )

ну или , как вариант, поднять с этим вольюмом докер с двумя (незапущенными) версиями постгреса
и провести обновление внутри контейнера докер-композа

уверен можно еще несколько вариантов придумать )
Понятно, спасибо!
Но выглядит как-то сложнее, чем без docker, на первый взгляд. ;)
источник

IZ

Igor Zinovik in pgsql – PostgreSQL
Добрый день. У меня проблема с созданием баз из шаблона template0. Каждую ночь база накатывает дампы с прода в временные базы, потом дропает оригиналы и делает переименование временных баз в оригинальные. Сегодня у меня перестали работать команды createdb:
2021-03-11 04:00:07,575296320 -> createdb -T template0 'tools_ui_12e5deb6'
createdb: database creation failed: ERROR:  database is not accepting commands to avoid wraparound data loss in database "template0"
HINT:  Stop the postmaster and vacuum that database in single-user mode.
You might also need to commit or roll back old prepared transactions.

Подскажите из-за чего такое могло случиться.
Что такое wraparound data loss?
Как чинить? Запускать фулл вакуум на всех базах?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
batyrmastyr
Гм. Вы про любые их виды в исполнении докера или про какой-то конкретный?
вцелом про любой, но это кмк это вырожденный случай, ибо в будучи в здравом уме не придет в голову запускать базу в докере с важными данными и не использовать при этом волюмы (понятно что там под капотом может быть самая разная реализация хранения)
источник