Обсуждение: New hooks for snapshot and transaction ID acquisition from external source

Поиск
Список
Период
Сортировка

New hooks for snapshot and transaction ID acquisition from external source

От
Michael Paquier
Дата:
Hi,<br /><br />What do you think about adding hooks for transaction ID and snapshot acquisition? Those hooks could be
locatedin AssignTransactionId:xact.c for transaction ID and GetTransactionSnapshot:snapmgr.c for snapshots.<br /> This
isuseful for multi-master applications that use external tools to feed with unique transaction IDs and global snapshots
allthe nodes of a cluster in order to maintain global data consistency and visibility, one of the examples being
clusterapplications like Postgres-XC.<br /><br clear="all" />Opinions?<br />-- <br />Michael<br /> 

Re: New hooks for snapshot and transaction ID acquisition from external source

От
Tom Lane
Дата:
Michael Paquier <michael.paquier@gmail.com> writes:
> What do you think about adding hooks for transaction ID and snapshot
> acquisition?

Not much.  Those places are not only hot spots but remarkably delicate.
It's hard to see much that a plugin could do there that wouldn't be
pretty deleterious to both performance and reliability.  As an example,
throwing an error in either place is dangerous, and taking any locks
they don't already take even more so.

Now of course, if your plugin breaks your database that's maybe not my
problem, but I'm concerned that even just adding a test to see if
there's a hook to call could result in measurable slowdown.
        regards, tom lane