Size: a a a

pgsql – PostgreSQL

2020 June 18

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Привет! Есть ли инструменты чтобы сделать типа точку восстановления в БД, чтобы потом накатить какие были изменения в БД за последнюю неделю?

К примеру, я обслужу БД, буду 20 раз перезагружать и т.п. Чтобы не  мешать пользователям я её просто скопирую себе, внесу изменения и потом просто заменю новой БД и залью последние изменения которые были внесены пользователями. Как мне сохранить эти последние изменения?
Я не помню подобных инструментов (мне кажется, что готовых и нет).
Казалось бы, это похоже на репликацию, где изменения [долго] накапливаются, а потом применяются.
Может, куда-то в этом направлении поискать?
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Sv.
Что значит конкурентный?
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Yaroslav Schekin
Я не помню подобных инструментов (мне кажется, что готовых и нет).
Казалось бы, это похоже на репликацию, где изменения [долго] накапливаются, а потом применяются.
Может, куда-то в этом направлении поискать?
Это больше похоже на разновидность сплитбрейна.
источник

S

Sv. in pgsql – PostgreSQL
Yaroslav Schekin
Я не помню подобных инструментов (мне кажется, что готовых и нет).
Казалось бы, это похоже на репликацию, где изменения [долго] накапливаются, а потом применяются.
Может, куда-то в этом направлении поискать?
может, кто б подсказал, мне только в лоб решение приходит
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Ок, тогда задача: сделать вакуумфул БД, он будет длиться 4 дня. Как это грамотно сделать? Ведь пользователям не скажешь что сервис не будет 4 дня работать
Вообще,

> сделать вакуумфул БД
и
>  Как это грамотно сделать

довольно странно выглядят рядом. ;)
Т.е. зачем Вам делать VACUUM FULL?
источник

S

Sv. in pgsql – PostgreSQL
Понятно, но это если чисто вакуум делать, у меня ещё куча всего сделать
источник

S

Sv. in pgsql – PostgreSQL
Yaroslav Schekin
Вообще,

> сделать вакуумфул БД
и
>  Как это грамотно сделать

довольно странно выглядят рядом. ;)
Т.е. зачем Вам делать VACUUM FULL?
Разрабы до меня вообще его делали каждые выходные. А так криво все было настроено, тот же автовакуум, что куча всего лишнего осталось. Я бы хотел сначала убрать запись не нужных логов действий пользователей, кучу такого же мусора, а потом вакуумфул под ноль.
источник

S

Sv. in pgsql – PostgreSQL
В общем понятно что никто так не делал, ладно
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Sv.
Понятно, но это если чисто вакуум делать, у меня ещё куча всего сделать
99% вашей кучи делаются на ходу с минимальными неудобствами для пользователей.
источник

S

Sv. in pgsql – PostgreSQL
Роман Жарков
99% вашей кучи делаются на ходу с минимальными неудобствами для пользователей.
Может, но я в себе не настолько уверен, что смогу каждый раз правильно удаление выполнить или инсерт)) Что, вдруг, нахимичу так что придется с начала начинать. Поэтому решение делать все именно на копии
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Разрабы до меня вообще его делали каждые выходные. А так криво все было настроено, тот же автовакуум, что куча всего лишнего осталось. Я бы хотел сначала убрать запись не нужных логов действий пользователей, кучу такого же мусора, а потом вакуумфул под ноль.
> Разрабы до меня вообще его делали каждые выходные.

Это обычно считается bad practice, и неспроста.
А в остальном — понятно. Но это можно сделать и постепенно / потаблично, или даже использовать сторонние инструменты, вроде pg_repack, как:

> В общем понятно что никто так не делал, ладно

те, кому непонятно, как Вы сделали такой вывод, обычно и делают. ;)
источник

S

Sv. in pgsql – PostgreSQL
Yaroslav Schekin
> Разрабы до меня вообще его делали каждые выходные.

Это обычно считается bad practice, и неспроста.
А в остальном — понятно. Но это можно сделать и постепенно / потаблично, или даже использовать сторонние инструменты, вроде pg_repack, как:

> В общем понятно что никто так не делал, ладно

те, кому непонятно, как Вы сделали такой вывод, обычно и делают. ;)
Я согласен с вами, Ярослав, но как писал выше, я бы все делал на копии и потом уже копию использовал как Прод. Может конечно сначала попрактиковаться на копии, если все норм, делать на Проде...
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Я согласен с вами, Ярослав, но как писал выше, я бы все делал на копии и потом уже копию использовал как Прод. Может конечно сначала попрактиковаться на копии, если все норм, делать на Проде...
Ну да, так это обычно и делается.
Т.е. оттестировать на копии, заскриптовать (выполнить на новой копии, проверить) и выполнить на prod.
источник

S

Sv. in pgsql – PostgreSQL
Все равно, мне кажется, из практики лучше делать вакуумфул раз в 5лет, он больше чистит чем автовакуум, последний бывает не успевает все подчистить. У нас приложение очень часто пишет в таблицу
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Все равно, мне кажется, из практики лучше делать вакуумфул раз в 5лет, он больше чистит чем автовакуум, последний бывает не успевает все подчистить. У нас приложение очень часто пишет в таблицу
Чем лучше-то?  ;)

> он больше чистит чем автовакуум, последний бывает не успевает все подчистить.

Смотря что имеется в виду — вообще, стоит настроить autovacuum так, чтобы он справлялся.
А "подчистить всё" — это неплохой способ "провалить" производительность в некоторых типичных ситуациях, кстати.
источник

S

Sv. in pgsql – PostgreSQL
Yaroslav Schekin
Чем лучше-то?  ;)

> он больше чистит чем автовакуум, последний бывает не успевает все подчистить.

Смотря что имеется в виду — вообще, стоит настроить autovacuum так, чтобы он справлялся.
А "подчистить всё" — это неплохой способ "провалить" производительность в некоторых типичных ситуациях, кстати.
Да, производительность падает, это временно.
Насчёт правильно настроить автовакуум пока знаний мало, да и разрабы то что дали, настройки постгреса, они не справляются, а фирмы уже нет... (
источник

S

Sv. in pgsql – PostgreSQL
Ладно, спасибо всем!
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sv.
Да, производительность падает, это временно.
Насчёт правильно настроить автовакуум пока знаний мало, да и разрабы то что дали, настройки постгреса, они не справляются, а фирмы уже нет... (
> Да, производительность падает,

Так зачем Вы это делаете, в таком случае?! ;)

> Насчёт правильно настроить автовакуум пока знаний мало

Да информации море на эту тему, начиная с документации, и есть десятки презентаций и статей; и описания в книгах, наверняка.

> да и разрабы то что дали, настройки постгреса, они не справляются, а фирмы уже нет...

Они не уникальны в отношении способности настроить postgres. ;)
источник

EG

Eduards Gruberts in pgsql – PostgreSQL
Добрый день, столкнулся с проблемой установки pg_cron, поставил на 12 версию постргреса, прописал shared_preload_libraries, но при установки екстеншена все равно получаю сообщение ERROR:  pg_cron can only be loaded via shared_preload_libraries,

Может кто то сталкивался с подобной проблемой, или есть альтернатива pg_cron ?

Спасибо.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
а рестарт делали?
источник