From: Masahiko Sawada <masahiko.saw...@2ndquadrant.com>
> I was thinking to have a GUC timeout parameter like statement_timeout.
> The backend waits for the setting value when resolving foreign
> transactions.

Me too.


> But this idea seems different. FDW can set its timeout
> via a transaction timeout API, is that right?

I'm not perfectly sure about how the TM( application server works) , but 
probably no.  The TM has a configuration parameter for transaction timeout, and 
the TM calls XAResource.setTransactionTimeout() with that or smaller value for 
the argument.


> But even if FDW can set
> the timeout using a transaction timeout API, the problem that client
> libraries for some DBMS don't support interruptible functions still
> remains. The user can set a short time to the timeout but it also
> leads to unnecessary timeouts. Thoughts?

Unfortunately, I'm afraid we can do nothing about it.  If the DBMS's client 
library doesn't support cancellation (e.g. doesn't respond to Ctrl+C or provide 
a function that cancel processing in pgorogss), then the Postgres user just 
finds that he can't cancel queries (just like we experienced with odbc_fdw.)


 Regards
Takayuki Tsunakawa

Reply via email to