Re: dblink question please
От | Frankie Lam |
---|---|
Тема | Re: dblink question please |
Дата | |
Msg-id | b2fh7r$1nph$1@news.hub.org обсуждение исходный текст |
Ответ на | dblink question please ("Frankie Lam" <frankie@ucr.com.hk>) |
Ответы |
Re: dblink question please
|
Список | pgsql-sql |
Thanks, Joe. Now I use only persistent connection inside my PLPGSQL functions, the EXCEPTION "ExecMakerTableFunctionResult: Invalid result from function returning tuple" has gone. The only problem left behind is it takes dblink function (such as dblink_exec('update foo set f1=true')) very long time to return(abuot 16 mins), in case if I do "extreme" test on it(like unplugging the network cable while dblink_exec() function is still working on remote host). It seems to me this is a matter of libPQ (because connect_timeout doesn't work in the case), but someone told me this is nothing to do with libPQ, and it's possible a matter of KERNEL and transport layer of tcp protocol.(I don't really understand these stuff) Is this true?(If this is true, then I have to abort my project :-( ) Regards Frankie. "Joe Conway" <mail@joeconway.com> wrote in message news:3E4B2BA5.3020409@joeconway.com... > Frankie Lam wrote: > > Yah! > > > > That's exactly what I did already(did this to all lines containing > > `elog(ERROR...)'. :-D > > But, I'm still experiencing some error messages when I'm doing 'extreme' > > test to > > plpgsql functions, > > for example 'ExecMakerTableFunctionResult: Invalid result from function > > returning tuple'. > > > > I really have no idea about what this message is related to the dblink > > functions. Any idea > > about it? Thanks so much. > > Sounds like you didn't heed my warning. It is *probably* safe to make > the elog(ERROR...) to elog(NOTICE...) change *in that one function*, > dblink_connect(), and then use persistent connections, e.g. > > select dblink_connect('dbname=blah ...'); > select * from dblink('select f1 from foo') as (f1 text); > > If instead you made the change within the dblink_record() function, and > you weren't careful to add additional error handling, then the message > you got is what I'd expect. You basically broke dblink for those scenarios. > > Joe > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org
В списке pgsql-sql по дате отправления: