Size: a a a

pgsql – PostgreSQL

2021 February 10

B

Biter in pgsql – PostgreSQL
Zheka_13
Лучше не убивать. В постгресе есть спец функции для этого
А как нужно поступать?
Поясните пожалуйста, я просто не в теме
источник

Z

Zheka_13 in pgsql – PostgreSQL
Ну, сначала задаться вопросом зачем убивать? Потом если уж очень надо, то использовать pg_terminate_backend. Ну и если уж супер нужно, то тогда kill. Но kill лучше не делать никогда. Я думаю постгрес не виноват, лучше и достаточно будет остановиться на первом этапе.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Biter
А как нужно поступать?
Поясните пожалуйста, я просто не в теме
А зачем "убивать", в самом деле? Может, это соединения от какого-то pooler, а может, приложение так написано, что не закрывает их сразу.
А SIGKILL вообще не нужно посылать — весь PostgreSQL [тут же] "упадёт" (и начнёт перезапускаться, обычно).
Т.е. так все соединения "убьёте", не одно.
источник

T

The in pgsql – PostgreSQL
+1
Любой пулер или драйвер (ODBC, JDBC) может держать idle соединения.
А SIGKILL прибьёт постгрес, да ещё и в crash-consistent состоянии.
источник

B

Biter in pgsql – PostgreSQL
Zheka_13
Ну, сначала задаться вопросом зачем убивать? Потом если уж очень надо, то использовать pg_terminate_backend. Ну и если уж супер нужно, то тогда kill. Но kill лучше не делать никогда. Я думаю постгрес не виноват, лучше и достаточно будет остановиться на первом этапе.
Так я и использую pg_terminate_backend.
Это кошерный вариант? :)
источник

Z

Zheka_13 in pgsql – PostgreSQL
Да, только зачем?
источник

T

The in pgsql – PostgreSQL
Biter
Так я и использую pg_terminate_backend.
Это кошерный вариант? :)
Они вам мешают? У вас лимит коннектов превышен? Поднимайте лимиты или ставьте пулер посередине.
источник

Z

Zheka_13 in pgsql – PostgreSQL
Вы решаете проблему не постгреса средствами постгреса
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Biter
Так я и использую pg_terminate_backend.
Это кошерный вариант? :)
Да, если нужно именно отключить сессию.
Можно просто послать SIGTERM, да и pg_ctl даёт такую возможность.
источник

B

Biter in pgsql – PostgreSQL
Yaroslav Schekin
А зачем "убивать", в самом деле? Может, это соединения от какого-то pooler, а может, приложение так написано, что не закрывает их сразу.
А SIGKILL вообще не нужно посылать — весь PostgreSQL [тут же] "упадёт" (и начнёт перезапускаться, обычно).
Т.е. так все соединения "убьёте", не одно.
Я использую pg_terminate_backend, не sigkill.
Кстати от sigkill pg не падает, если убивать именно pid транзакции.
А "idle-сопли" действительно остаются от пулера, но там виноват драйвер, используемый в приложении.
Закрытие idle-сессий не влияет на работу приложения.
Вопрос не поплохеет ли от использования pg_terminate_backend постресу?
источник

B

Biter in pgsql – PostgreSQL
The
Они вам мешают? У вас лимит коннектов превышен? Поднимайте лимиты или ставьте пулер посередине.
Да, со временем, происходит исчерпание лимита соединений
источник

B

Biter in pgsql – PostgreSQL
Zheka_13
Вы решаете проблему не постгреса средствами постгреса
Верно
Но проблема есть и ее нужно решить.
Поэтому и уточняю нюансы
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Biter
Я использую pg_terminate_backend, не sigkill.
Кстати от sigkill pg не падает, если убивать именно pid транзакции.
А "idle-сопли" действительно остаются от пулера, но там виноват драйвер, используемый в приложении.
Закрытие idle-сессий не влияет на работу приложения.
Вопрос не поплохеет ли от использования pg_terminate_backend постресу?
> Кстати от sigkill pg не падает, если убивать именно pid транзакции.

А должен. Т.е. либо Вы не его посылаете, либо это серьёзная проблема, с которой надо разобраться (иначе есть возможность, что после подобного (да и вообще любого "левого" SIGKILL, мало ли) данные будут тихо "биться").

> Вопрос не поплохеет ли от использования pg_terminate_backend постресу?

Нет, это штатный способ.
источник

B

Biter in pgsql – PostgreSQL
Yaroslav Schekin
> Кстати от sigkill pg не падает, если убивать именно pid транзакции.

А должен. Т.е. либо Вы не его посылаете, либо это серьёзная проблема, с которой надо разобраться (иначе есть возможность, что после подобного (да и вообще любого "левого" SIGKILL, мало ли) данные будут тихо "биться").

> Вопрос не поплохеет ли от использования pg_terminate_backend постресу?

Нет, это штатный способ.
Ну Бог с ним, с sigkill.
Я его не использую.
Благодарю за консультацию по pg_terminate_backend
источник
2021 February 11

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Так как у этого чата самый высокий охват среди тех, где я есть, спрошу сюда, хоть вопрос и не совсем по теме

Существует ли вообще какое-то in depth руководство по регуляркам? Не на уровне «давайте научимся делать маску для телефонных номеров», а на уровне разжёвывания алгоритмов, осуществляющих все эти волшебные lookahead'ы и рекурсивный поиск

Так как, насколько я знаю, конкретных реализаций как минимум не меньше, чем языков программирования, наиболее интересным было бы разжёвывание re для Python, но на самом деле подойдёт и общий формат с условными блок-схемами

Предвещая вопросы, гугление не особенно привело к успеху
источник

AD

Artemiy Dubovoy in pgsql – PostgreSQL
А то создаётся впечатление, что регулярки — это какой-то чёрный ящик. Они существуют, все примерно знают, как они работают, но нормально объяснить, как они работают, никто не может
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Artemiy Dubovoy
Так как у этого чата самый высокий охват среди тех, где я есть, спрошу сюда, хоть вопрос и не совсем по теме

Существует ли вообще какое-то in depth руководство по регуляркам? Не на уровне «давайте научимся делать маску для телефонных номеров», а на уровне разжёвывания алгоритмов, осуществляющих все эти волшебные lookahead'ы и рекурсивный поиск

Так как, насколько я знаю, конкретных реализаций как минимум не меньше, чем языков программирования, наиболее интересным было бы разжёвывание re для Python, но на самом деле подойдёт и общий формат с условными блок-схемами

Предвещая вопросы, гугление не особенно привело к успеху
тут бы запомнить все возможности… вечно в маны лезу ради всяких matching/non matching, lookahead/lookbehind якорей…
если нужны алгоритмы, то лучше всего в исходники лезть.
я бы начал с README вот отсюда: https://github.com/postgres/postgres/tree/master/src/backend/regex
источник

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Victor Yegorov
тут бы запомнить все возможности… вечно в маны лезу ради всяких matching/non matching, lookahead/lookbehind якорей…
если нужны алгоритмы, то лучше всего в исходники лезть.
я бы начал с README вот отсюда: https://github.com/postgres/postgres/tree/master/src/backend/regex
Что ж, прощайте, ближайшие выходные :) Я надеялся, что есть более простые варианты. Спасибо
источник

VY

Victor Yegorov in pgsql – PostgreSQL
та подумаешь, валентину будет повод прогулять!
источник

СХ

Сергей Худояров... in pgsql – PostgreSQL
вечер добрый. скажите, чтоб перейти с 9.6 на 12, достаточно pg_dump-ом сделать бэкапы и развернуть?
и обязательно ли sql бэкапы делать? или можно и бинарные?
источник