Size: a a a

pgsql – PostgreSQL

2021 February 10

кн

коля николай... in pgsql – PostgreSQL
Yaroslav Schekin
А эти xmin далеко от текущего?
текущий это select txid_current() ?
источник

кн

коля николай... in pgsql – PostgreSQL
коля николай
текущий это select txid_current() ?
если да, то вот 24861358564
источник

DS

Daniella Starchenko in pgsql – PostgreSQL
У меня на сервере бд идет огромная нагрузка. Посмотрела в pg stat database и там обнаружилось, что количество активных бекендов 102. В активити там их от силы 20 шт. На самом сервере вижу, что есть около 100 пидов с процессами постгреса. Предполагаю, что у меня не завершаются сессии нормально. Как сделать так, чтоб они по умолчанию закрывались, когда запрос завершился?
источник

M

Miseo in pgsql – PostgreSQL
Victor Yegorov
для такого переноса лучше всего физическая, конечно
Я тут в статье от диджиталоушен прочитал, что перед тем как делать физичекую репликацию, надо выполнить очистку ```sudo -u postgres rm -r /var/lib/postgresql/12/main/*```
А если я планирую на этот сервер несколько баз среплицировать, мне каждый раз выполнять эту очистку?

не могу понять нужно ли это?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Miseo
Я тут в статье от диджиталоушен прочитал, что перед тем как делать физичекую репликацию, надо выполнить очистку ```sudo -u postgres rm -r /var/lib/postgresql/12/main/*```
А если я планирую на этот сервер несколько баз среплицировать, мне каждый раз выполнять эту очистку?

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

M

Miseo in pgsql – PostgreSQL
Victor Yegorov
надо делать очистку того места, куда вы реплицировать будете.
физическая репликация работает для всего кластера, отдельно базы ею реплицировать нельзя
Эм… так а если надо всего пару баз перенести, как лучше поступить?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Miseo
Эм… так а если надо всего пару баз перенести, как лучше поступить?
1. перенести всё, открыть базу, грохнуть всё, кроме тех, что нужны
2. pg_dump + pg_restore
3. логическая или триггерная репликация
источник

M

Miseo in pgsql – PostgreSQL
Victor Yegorov
1. перенести всё, открыть базу, грохнуть всё, кроме тех, что нужны
2. pg_dump + pg_restore
3. логическая или триггерная репликация
а при пг_дамп секвенции перенесутся?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Miseo
а при пг_дамп секвенции перенесутся?
всё, кроме ролей и табличных областей (они глобальны) и опций самой базы данных (per-database configuration)
источник

M

Miseo in pgsql – PostgreSQL
Victor Yegorov
всё, кроме ролей и табличных областей (они глобальны) и опций самой базы данных (per-database configuration)
понял. сейчас почитаю детальнее
источник

кн

коля николай... in pgsql – PostgreSQL
Yaroslav Schekin
А эти xmin далеко от текущего?
Короч я посмотрел, что 2 реплики имеют xmin текущий и одна сотстает на 4 миллиона и ссылается на несуществующий xmin(нет его в pg_stat_activity)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
коля николай
Короч я посмотрел, что 2 реплики имеют xmin текущий и одна сотстает на 4 миллиона и ссылается на несуществующий xmin(нет его в pg_stat_activity)
Вот и причина, казалось бы (вроде бы, других уже нет?).
источник

кн

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

YS

Yaroslav Schekin in pgsql – PostgreSQL
коля николай
вроде бы все нормализовалось, ладно почекаю еще. Спасибо за хелп
Да не за что! ;)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Daniella Starchenko
У меня на сервере бд идет огромная нагрузка. Посмотрела в pg stat database и там обнаружилось, что количество активных бекендов 102. В активити там их от силы 20 шт. На самом сервере вижу, что есть около 100 пидов с процессами постгреса. Предполагаю, что у меня не завершаются сессии нормально. Как сделать так, чтоб они по умолчанию закрывались, когда запрос завершился?
Закрывать их в приложении.
И да, там точно нет какого-то connection pooler (для них это нормальное / правильное поведение)?
источник

DS

Daniella Starchenko in pgsql – PostgreSQL
Yaroslav Schekin
Закрывать их в приложении.
И да, там точно нет какого-то connection pooler (для них это нормальное / правильное поведение)?
А как это проверить?
Вообще, коллеги говорят что у нас почему то pgadmin не умеет за собой сессию прикрывать
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Daniella Starchenko
А как это проверить?
Вообще, коллеги говорят что у нас почему то pgadmin не умеет за собой сессию прикрывать
Так это вам там виднее — используется ли pgbouncer / pgpool; или, может быть, в используемом API/библиотеке/драйвере есть встроенный pooling?
Насчёт pgadmin — может быть, не пользуюсь. Но это-то проверить легко, по идее (pg_stat_activity).
источник

B

Biter in pgsql – PostgreSQL
Господа, подскажите, насколько безопасно убивать запросы в статусе idle?
Есть какие то нюансы?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Biter
Господа, подскажите, насколько безопасно убивать запросы в статусе idle?
Есть какие то нюансы?
если сессия в idle, то там нет запросов
источник

Z

Zheka_13 in pgsql – PostgreSQL
Лучше не убивать. В постгресе есть спец функции для этого
источник