Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
20.07.2020, 14:50
|
|||
---|---|---|---|
|
|||
Соединение разорвано другой стороной |
|||
#18+
Коллеги, может кто-нибудь сталкивался с такой проблемой. На компе А работает сервис, написанный на qt. Периодически, раз в 10 секунд он вызывает хранимую процедуру (ХП) из базы ПГ. Процедура связывается через postgres_fdw в компом В. Они делают там инсерты и апдейты, таким образом синхронизируют две базы на разных серверах. Почему выбран такой способ синхронизации, а не штатный сейчас не будем обусждать вопрос не в этом. При закрытии соединения с базой после выполнения ХП на компе В в логе Постгреса появляется запись " СООБЩЕНИЕ: не удалось получить данные от клиента: Соединение разорвано другой стороной". ХП вызывалась с компа А, но в его логе никаких сообщений не появляется. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Всю ХП я приводить не буду, ибо большая. Ее работа сводится к сбору id записей с компа В а потом вставку их в свою таблицу Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
TMP_CLUST_DATA_INSERT - временная таблица, создается в этой же ХП Самое прикольное, что если я вызываю эту ХП из PgAdmin, то никакого сообщения нигде не появляется. Правда Админ не закрывает соединение с базой после выполнения запроса, а моя прога закрывает. И это сообщение появляется именно на закрытии соединения. Есть какие - нибудь идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.07.2020, 15:56
|
|||
---|---|---|---|
Соединение разорвано другой стороной |
|||
#18+
postgres_fdw кэширует использованные в сессии соединения (contrib/postgres_fdw/connection.c) А вот их закрытия при завершении процесса я как-то не вижу. Как собственно и подходящего callback на завершении процесса. Поэтому для базы, к которой postgres_fdw подключался и выглядит как закрытие сетевого соединения. Ну как похожая на правду теория, которую мне неохота проверять глубже чем взглядом в исходник. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.07.2020, 16:01
|
|||
---|---|---|---|
|
|||
Соединение разорвано другой стороной |
|||
#18+
В доке не пишут, что соединение нужно специально открывать и закрывать. А есть такая возможность принудительного завершения сеанса? Наверное мне его как раз и не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.07.2020, 16:09
|
|||
---|---|---|---|
|
|||
Соединение разорвано другой стороной |
|||
#18+
Melkij, не подскажете как закрыть сеанс в fdw? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994574]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 145ms |
0 / 0 |