Re: FDW for PostgreSQL
От | Stephen Frost |
---|---|
Тема | Re: FDW for PostgreSQL |
Дата | |
Msg-id | 20130328152442.GS4361@tamriel.snowman.net обсуждение исходный текст |
Ответ на | Re: FDW for PostgreSQL (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: FDW for PostgreSQL
|
Список | pgsql-hackers |
* Tom Lane (tgl@sss.pgh.pa.us) wrote: > TBH I think this is a fairly bad idea. You can get that behavior via > dblink if you need it, While I appreciate that dblink can do it, I simply don't see it as a good solution to this. > but there's no way to do it in an FDW without > ending up with astonishing (and not in a good way) semantics. A commit > would force committal of everything that'd been done through that > connection, regardless of transaction/subtransaction structure up to > that point; and it would also destroy open cursors. The only way to > make this sane at all would be to provide user control of which > operations go to which connections; which is inherent in dblink's API > but is simply not a concept in the FDW universe. And I don't want to > try to plaster it on, either. This concern would make a lot more sense to me if we were sharing a given FDW connection between multiple client backends/sessions; I admit that I've not looked through the code but the documentation seems to imply that we create one-or-more FDW connection per backend session and there's no sharing going on. A single backend will be operating in a linear fashion through the commands sent to it. As such, I'm not sure that it's quite as bad as it may seem. Perhaps a reasonable compromise would be to have a SERVER option which is along the lines of 'autocommit', where a user could request that any query to this server is automatically committed independent of the client transaction. I'd be happier if we could allow the user to control it, but this would at least allow for 'log tables', which are defined using this server definition, where long-running pl/pgsql code could log progress where other connections could see it. Thanks, Stephen
В списке pgsql-hackers по дате отправления: