|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Коллеги, добрый день. Имеется несколько сессий, которые в состоянии active и не реагируют на pg_terminate_backend. Подскажите пожалуйста, как их можно завершить\остановить? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:12 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Сам запрос, который они выполняют, не имеет dblink-ов. Запрос этот выполняется примерно за 8 часов. У меня подозрение, что это при перезапуске приложения они каким-то образом не завершились и стали бессмертными... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:13 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
pg_cancel_backend - тоже не влияет на них ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:15 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Видел подобное, когда запрос имеет dblink, но тут нет дблинка... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:17 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Синий Слон, dblink - частный случай использования посторонних ресурсов. Аналогично к такому эфекту могут привести FDW, функции на plpython и т.д. Покажи выборку, особенно содержимое query в развернутой форме Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:28 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
DSKaluginСиний Слон, dblink - частный случай использования посторонних ресурсов. Аналогично к такому эфекту могут привести FDW, функции на plpython и т.д. Покажи выборку, особенно содержимое query в развернутой форме Код: plsql 1. 2.
Проверил, все откуда ведется выборка находится как таблицы: Код: sql 1.
Никаких функций в запросе нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:38 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
В условиях запроса есть WITH RECURSIVE, который сам по себе выполняется мнгновенно, и возвращает 3 строчки. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:44 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Синий Слон, Сложно гадать не имея ни одного конкретного запроса. В таких случаях отвечают "Ошибка в 7й строке" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:10 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
DSKaluginСиний Слон, Сложно гадать не имея ни одного конкретного запроса. В таких случаях отвечают "Ошибка в 7й строке" Запрос как запрос, обычный SELECT с парой JOIN и условием WHERE id IN ( WITH RECURSIVE .... ). Без функций,FWD, dblink и прочего, просто селект. Выполняется он долго и на другом подобном сервере. Вопрос в том, как его принудительно завершить? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:24 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
с дблинком-то понятно там достаточно завершить дочерний процес и он убивается. А тут что ему не дает завершиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:26 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Синий Слон, какая версия базы? мастер или реплика? потребляет ли процесс cpu или диски ? сколько уже висит? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:27 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Синий СлонDSKaluginСиний Слон, Сложно гадать не имея ни одного конкретного запроса. В таких случаях отвечают "Ошибка в 7й строке" Запрос как запрос, обычный SELECT с парой JOIN и условием WHERE id IN ( WITH RECURSIVE .... ). Без функций,FWD, dblink и прочего, просто селект. Выполняется он долго и на другом подобном сервере. Вопрос в том, как его принудительно завершить? покажите текст. если стесняетесь -- сведите боевой запрос к модельному, с теми же свойствами и покажите текст модельного. какие-то расширения используете ? какие-то функции вызываете ? какие операторы накрайняк, особо если не слишком стандартные. вот это вот всё. и таки покажите вывод строки пг-стат-активити. //дальше -- больше ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:31 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
если backend не реагирует на pg_terminate_backend - значит не встретил CHECK_FOR_INTERRUPTS. Почему долго нет CHECK_FOR_INTERRUPTS - нужны детали чем занят backend, в идеале вместе с backtrace от gdb. Без pg_terminate_backend - можно сложить кластер и поднять обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:41 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
AlexiusСиний Слон, какая версия базы? мастер или реплика? потребляет ли процесс cpu или диски ? сколько уже висит? 9.4 на винде. мастер (без реплики) Ест рессурсы (CPU,disc) Про весит не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:48 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Melkijесли backend не реагирует на pg_terminate_backend - значит не встретил CHECK_FOR_INTERRUPTS. Почему долго нет CHECK_FOR_INTERRUPTS - нужны детали чем занят backend, в идеале вместе с backtrace от gdb. Без pg_terminate_backend - можно сложить кластер и поднять обратно. Да, мне тоже очень хочется разобраться. Подскажите, пожалуйста, как эти детали достать: >нужны детали чем занят backend, в идеале вместе с backtrace от gdb ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:50 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
MelkijБез pg_terminate_backend - можно сложить кластер и поднять обратно. Это, как я понял, рестарт кластера. Оставим на крайний случай. Запросы эти выполняются примерно 8 часов и сессия пропадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:51 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
qwwqСиний Слонпропущено... Запрос как запрос, обычный SELECT с парой JOIN и условием WHERE id IN ( WITH RECURSIVE .... ). Без функций,FWD, dblink и прочего, просто селект. Выполняется он долго и на другом подобном сервере. Вопрос в том, как его принудительно завершить? покажите текст. если стесняетесь -- сведите боевой запрос к модельному, с теми же свойствами и покажите текст модельного. какие-то расширения используете ? какие-то функции вызываете ? какие операторы накрайняк, особо если не слишком стандартные. вот это вот всё. и таки покажите вывод строки пг-стат-активити. //дальше -- больше Да в том-то и дело что это обычный SELECT, без функций. Вот такого примерно вида: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:53 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Melkij, смотрю "backtrace от gdb" под виндоус есть ли он вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 17:56 |
|
Как равершить сессию по pid ? (pg_terminate_backend не работает)
|
|||
---|---|---|---|
#18+
Синий Слон, по такой экзотике не подскажу. Попробуйте начать читать отсюда: https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Windows Ну и 9.4 - это печально. Практически EOL ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 19:26 |
|
|
start [/forum/topic.php?fid=53&msg=39793170&tid=1995269]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 419ms |
0 / 0 |