ok understand

Good. So we seem to agree that GUCS are transactional?

The logic depends on transactions and on nesting level (nesting doesn't
depends on transactions only)

Yep, it probably also happens with LOCAL which hides the previous value and restores the initial one when exiting.

void AtEOXact_GUC(bool isCommit, int nestLevel)

Probably we should to use CallXactCallbacks instead - then is not a
performance impact when there are not transactional variables.

I do not understand your point.

It is a very good thing that GUCs are transactional, and this should not be changed, it is a useful feature! Much more useful than non transactional.

Moreover I think that transactional is expensive when writing things to disk, but in memory the overhead is reduced, and if you need it then you need it.

--
Fabien.


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to