powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Зависла сессия, как ее развиснуть? (не убивается)
14 сообщений из 14, страница 1 из 1
Зависла сессия, как ее развиснуть? (не убивается)
    #39885398
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Добрый день.

Зависла сессия.

На SELECT pg_terminate_backend пишет t, но никуда не девается.

Не пойму что она ждет

Внутри есть дблинки, но они с таймаутами и сессии от них отсуствуют.



Подскажите, как завершить эту сессию?
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885401
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Сесиия создает вот такие блоккировки:

Код: sql
1.
SELECT * FROM  pg_catalog.pg_locks WHERE pid=360560
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885402
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Нагрузка на сервер отсуствует.

state у этой сессии active
waiting f
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885404
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Для половины relation не находит имена - оставляет цифры.

Если сделать relation::regclass
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885409
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Висит уже сутки
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885446
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2,

точная версия? gdb backtrace?
судя по упоминанию булева waiting - что-то типа 9.5.

Чтож, сказать checkpoint и immediate shutdown.
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885703
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Melkij
lr2,

точная версия? gdb backtrace?
судя по упоминанию булева waiting - что-то типа 9.5.

Чтож, сказать checkpoint и immediate shutdown.



На счет версии вы правы.


Итак, причину нашел:

в запросе есть дб_линк, который цепляется маленькому, но очень гордрому серверу.

Сервер этот никак не отвечает на попытку подключения. Вероятно у него проблемы с железом.



Подскажите, как сделать чтобы долгий ответ как-то в ошибку падал?



Чтобы такая ситуация не повторялась.

Сейчас прописаны эти параметры в дблинке:

options=-cstatement_timeout=60000
connect_timeout=60



Но 60 секунд уже час как прошли, а попытка подключения продолжается, и думаю, висеть она будет бесконечно.
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885736
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2
Melkij
lr2,

точная версия? gdb backtrace?
судя по упоминанию булева waiting - что-то типа 9.5.

Чтож, сказать checkpoint и immediate shutdown.



На счет версии вы правы.


Итак, причину нашел:

в запросе есть дб_линк, который цепляется маленькому, но очень гордрому серверу.

Сервер этот никак не отвечает на попытку подключения. Вероятно у него проблемы с железом.



Подскажите, как сделать чтобы долгий ответ как-то в ошибку падал?



Чтобы такая ситуация не повторялась.

Сейчас прописаны эти параметры в дблинке:

options=-cstatement_timeout=60000
connect_timeout=60



Но 60 секунд уже час как прошли, а попытка подключения продолжается, и думаю, висеть она будет бесконечно.


зависший dblink снимается только полным рестартом базы увы (поэтому использовать его с серверами с которыми нет надежной связи - нельзя) можно еще попробовать изучить как на вашей OS кильнуть установленное tcp соединение.
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885744
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Maxim Boguk
lr2
пропущено...



На счет версии вы правы.


Итак, причину нашел:

в запросе есть дб_линк, который цепляется маленькому, но очень гордрому серверу.

Сервер этот никак не отвечает на попытку подключения. Вероятно у него проблемы с железом.



Подскажите, как сделать чтобы долгий ответ как-то в ошибку падал?



Чтобы такая ситуация не повторялась.

Сейчас прописаны эти параметры в дблинке:

options=-cstatement_timeout=60000
connect_timeout=60



Но 60 секунд уже час как прошли, а попытка подключения продолжается, и думаю, висеть она будет бесконечно.


зависший dblink снимается только полным рестартом базы увы (поэтому использовать его с серверами с которыми нет надежной связи - нельзя) можно еще попробовать изучить как на вашей OS кильнуть установленное tcp соединение.


Через 2 часа соединение не отвалилось - так и висит (((


ОС виндоус.

Я так понимаю что если кильнуть процесс постгресса - упадет весь кластер.

А как-то можно только одно соединение завершить?
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885748
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2
Maxim Boguk
пропущено...


зависший dblink снимается только полным рестартом базы увы (поэтому использовать его с серверами с которыми нет надежной связи - нельзя) можно еще попробовать изучить как на вашей OS кильнуть установленное tcp соединение.


Через 2 часа соединение не отвалилось - так и висит (((


ОС виндоус.

Я так понимаю что если кильнуть процесс постгресса - упадет весь кластер.

А как-то можно только одно соединение завершить?


Я же написал - в случае зависшего dblink только рестарт базы (или киляние процесса что эквивалентно рестарту базы).
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885751
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Maxim Boguk
lr2
пропущено...


Через 2 часа соединение не отвалилось - так и висит (((


ОС виндоус.

Я так понимаю что если кильнуть процесс постгресса - упадет весь кластер.

А как-то можно только одно соединение завершить?


Я же написал - в случае зависшего dblink только рестарт базы (или киляние процесса что эквивалентно рестарту базы).



Пошел перезапускать кластер.



А скажите, можно ли как-то сделать чтобы бдлинк не зависал? Параметры какие-нить прописать в нем?
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885766
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2
Maxim Boguk
пропущено...


Я же написал - в случае зависшего dblink только рестарт базы (или киляние процесса что эквивалентно рестарту базы).



Пошел перезапускать кластер.



А скажите, можно ли как-то сделать чтобы бдлинк не зависал? Параметры какие-нить прописать в нем?


Нет, это достаточно фундаментальное ограничение... про него лет 10 плачутся но сделать нормально там не получается.
Я поэтому и написал что "использовать его с серверами с которыми нет надежной связи - нельзя".
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39885924
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Maxim Boguk
lr2
пропущено...



Пошел перезапускать кластер.



А скажите, можно ли как-то сделать чтобы бдлинк не зависал? Параметры какие-нить прописать в нем?


Нет, это достаточно фундаментальное ограничение... про него лет 10 плачутся но сделать нормально там не получается.
Я поэтому и написал что "использовать его с серверами с которыми нет надежной связи - нельзя".



Спасибо.

Перезапуск помог.
...
Рейтинг: 0 / 0
Зависла сессия, как ее развиснуть? (не убивается)
    #39886115
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Непонятная ситуация:

1) когда делал pg_terminate_backend - эта сессия висела сутки, до перезапуска.

2) когда запустил из пг_админа и она повисла, нажал "отменить" в пг_админе, и она отменилась и исчезла через пару часов.



Как так может быть? о_О
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Зависла сессия, как ее развиснуть? (не убивается)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]