2013/04/10 23:44、Andres Freund <and...@2ndquadrant.com> のメッセージ:
> On 2013-04-10 23:37:44 +0900, Dang Minh Huong wrote: >> Thanks all, >> >> (2013/04/10 22:55), Andres Freund wrote: >>> On 2013-04-10 22:38:07 +0900, Kyotaro HORIGUCHI wrote: >>>> Hello, >>>> >>>> On Wed, Apr 10, 2013 at 6:57 PM, Dang Minh Huong <kakalo...@gmail.com> >>>> wrote: >>>>> In 9.3, it sounds replication_timeout is replaced by wal_sender_timeout. >>>>> So if it is solved in 9.3 i think there is a way to terminate it. >>>>> I hope it is fixed in 9.1 soon >>>> Hmm. He said that, >>>> >>>>> But in my environment the sender process is hang up (in several tens of >>>>> minunites) if i turn off (by power off) Standby PC while *pg_basebackup* >>>>> is excuting. >>>> Does basebackup run only on 'replication connection' ? >>>> As far as I saw base backup uses 'base backup' connection in addition >>>> to 'streaming' connection. The former seems not under the control of >>>> wal_sender_timeout or replication_timeout and easily blocked at >>>> send(2) after sudden cut out of the network connection underneath. >>>> Although the latter indeed is terminated by them. >>> Yes, it's run via a walsender connection. The only "problem" is that it >>> doesn't check for those timeouts. I am not sure it would be a good thing >>> to do so to be honest. At least not using the same timeout as actual WAL >>> sending, thats just has different characteristics. >>> On the other hand, hanging around that long isn't nice either... >> I tried max_wal_sender with 1, so when the walsender is hanging. >> I can not run again pg_basebackup (or start the standby DB). >> I'm increasing it to 2, so the seconds successfully. But i'm afraid >> that when the third occures the hanging walsender in the first >> is not yet terminated... >> >> I think not, but is there a way to terminate hanging up but not >> restart PostgreSQL server or kill walsender process? >> (kill walsender process can caused a crash to DB server, >> so i don't want to do it). > > Depending on where its hanging a normal SELECT > pg_terminate_backend(pid); might do it. > Greate! it worked. Thank you very much. > Otherwise you will have to wait for the operating system's tcp timeout. > > Greetings, > > Andres Freund > > -- > Andres Freund http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services Regards, Huong DM -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs