well, one question : Is tcp-keep-alive enabled by default in postgres-8.1.2 .
I am using postgres on linux platform . On Tue, Nov 29, 2011 at 8:51 AM, tamanna madaan < tamanna.mad...@globallogic.com> wrote: > Hi Craig > > Thanks for your reply . But unfortunately I dont have that process running > right now. I have already killed that process . But I have seen this > problem sometimes on my setup. > It generally happens when the remote system is going slow for some reason > (CPU utilization high etc.) . But whatever is the reason , I would assume > that the query should return with some error or so > in case the system, the query is running on , is rebooted . But it > doesn't return and remain stuck. Moreover, the same query sometimes hangs > even if it is run on local postgres database so I dont think > network issues have any role in that . Please help. > > Thanks.... > > Regards > Tamanna > > > On Tue, Nov 29, 2011 at 7:58 AM, Craig Ringer <ring...@ringerc.id.au>wrote: > >> On 11/28/2011 05:30 PM, tamanna madaan wrote: >> >>> Hi All >>> I have postgres installed in cluster setup. My system has a script >>> which executes the below query on remote system in cluster. >>> psql -t -q -Uslon -h<hostip> -d<dbname> -c"select 1;" >>> But somehow this query got stuck. It didnt return even after the remote >>> system( on which this query was supposed to execute) is rebooted . What >>> could be the reason ?? >>> >> >> I relised just after sending my last message: >> >> You should use ps to find out what exactly psql is doing and which system >> call it's blocked in in the kernel (if it's waiting on a syscall). As you >> didn't mention your OS I'll assume you're on Linux, where you'd use: >> >> ps -C psql -o wchan:80= >> >> or >> >> ps -p 1234 -o wchan:80= >> >> ... where "1234" is the pid of the stuck psql process. In a psql waiting >> for command line input I see it blocked in the kernel routine "n_tty_read" >> for example. >> >> >> If you really want to know what it's doing you can also attach gdb and >> get a backtrace to see what code it's paused in inside psql: >> >> gdb -q -p 1234 <<__END__ >> bt >> q >> __END__ >> >> If you get a message about "missing debuginfos", lots of lines reading >> "no debugging symbols found" or lots of lines ending in "?? ()" then you >> need to install debug symbols. How to do that depends on your OS/distro so >> I won't go into that; it's documented on the PostgreSQL wiki under "how to >> get a stack trace" but you probably won't want to bother if this is just >> for curiosity's sake. >> >> You're looking for output that looks like: >> >> #1 0x000000369d22a131 in rl_getc () from /lib64/libreadline.so.6 >> #2 0x000000369d22a8e9 in rl_read_key () from /lib64/libreadline.so.6 >> #3 0x000000369d215b11 in readline_internal_char () from >> /lib64/libreadline.so.6 >> #4 0x000000369d216065 in readline () from /lib64/libreadline.so.6 >> >> ... etc ... >> >> >> -- >> Craig Ringer >> > > > > -- > Tamanna Madaan | Associate Consultant | GlobalLogic Inc. > Leaders in Software R&D Services > ARGENTINA | CHILE | CHINA | GERMANY | INDIA | ISRAEL | UKRAINE | UK | USA > > Office: +0-120-406-2000 x 2971 > > www.globallogic.com > > > -- Tamanna Madaan | Associate Consultant | GlobalLogic Inc. Leaders in Software R&D Services ARGENTINA | CHILE | CHINA | GERMANY | INDIA | ISRAEL | UKRAINE | UK | USA Office: +0-120-406-2000 x 2971 www.globallogic.com