pgsql: Detect POLLHUP/POLLRDHUP while running queries.
От | Thomas Munro |
---|---|
Тема | pgsql: Detect POLLHUP/POLLRDHUP while running queries. |
Дата | |
Msg-id | E1lSQM9-00050p-FR@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Detect POLLHUP/POLLRDHUP while running queries. Provide a new GUC check_client_connection_interval that can be used to check whether the client connection has gone away, while running very long queries. It is disabled by default. For now this uses a non-standard Linux extension (also adopted by at least one other OS). POLLRDHUP is not defined by POSIX, and other OSes don't have a reliable way to know if a connection was closed without actually trying to read or write. In future we might consider trying to send a no-op/heartbeat message instead, but that could require protocol changes. Author: Sergey Cherkashin <s.cherkashin@postgrespro.ru> Author: Thomas Munro <thomas.munro@gmail.com> Reviewed-by: Thomas Munro <thomas.munro@gmail.com> Reviewed-by: Tatsuo Ishii <ishii@sraoss.co.jp> Reviewed-by: Konstantin Knizhnik <k.knizhnik@postgrespro.ru> Reviewed-by: Zhihong Yu <zyu@yugabyte.com> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Maksim Milyutin <milyutinma@gmail.com> Reviewed-by: Tsunakawa, Takayuki/綱川 貴之 <tsunakawa.takay@fujitsu.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> (much earlier version) Discussion: https://postgr.es/m/77def86b27e41f0efcba411460e929ae%40postgrespro.ru Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/c30f54ad732ca5c8762bb68bbe0f51de9137dd72 Modified Files -------------- doc/src/sgml/config.sgml | 37 +++++++++++++++++++++++++ src/backend/libpq/pqcomm.c | 40 +++++++++++++++++++++++++++ src/backend/tcop/postgres.c | 32 +++++++++++++++++++++ src/backend/utils/init/globals.c | 1 + src/backend/utils/init/postinit.c | 10 +++++++ src/backend/utils/misc/guc.c | 29 +++++++++++++++++++ src/backend/utils/misc/postgresql.conf.sample | 3 ++ src/include/libpq/libpq.h | 1 + src/include/miscadmin.h | 1 + src/include/tcop/tcopprot.h | 1 + src/include/utils/timeout.h | 1 + 11 files changed, 156 insertions(+)
В списке pgsql-committers по дате отправления: