RE: Add client connection check during the execution of the query
От | tsunakawa.takay@fujitsu.com |
---|---|
Тема | RE: Add client connection check during the execution of the query |
Дата | |
Msg-id | TYAPR01MB2990F4C319FC852CCED60394FE7B9@TYAPR01MB2990.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Add client connection check during the execution of the query (Thomas Munro <thomas.munro@gmail.com>) |
Ответы |
Re: Add client connection check during the execution of the query
|
Список | pgsql-hackers |
From: Thomas Munro <thomas.munro@gmail.com> > I changed my mind. Let's commit the pleasingly simple Linux-only feature for > now, and extend to it to send some kind of no-op message in a later release. > So this is the version I'd like to go with. > Objections? +1, as some of our users experienced the problem that the server kept processing (IIRC, a buggy PL/pgSQL procedure that loopsindefinitely) after they killed the client. TBH, Linux and Windows will be sufficient. But I'm for providing a good feature on a specific OS first. (1) + rc = poll(&pollfd, 1, 0); + if (rc < 0) + { + elog(COMMERROR, "could not poll socket: %m"); + return false; I think it's customary to use ereport() and errcode_for_socket_access(). (2) pq_check_connection() Following PostmasterIsAlive(), maybe it's better to name it as pq_connection_is_alive() pq_client_is_alive(), or pq_frontend_is_alive()like the pqcomm.c's head comment uses the word frontend? (3) #include <limits.h> +#include <poll.h> #ifndef WIN32 #include <sys/mman.h> #endif poll.h should be included between #ifndef WIN32 and #endif? (4) I think the new GUC works for walsender as well. If so, how do we explain the relationship between the new GUC and wal_receiver_timeoutand recommend the settings of them? Regards Takayuki Tsunakawa
В списке pgsql-hackers по дате отправления: