2017-01-04 18:49 GMT+01:00 Fabien COELHO <coe...@cri.ensmp.fr>: > > 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 on critical path, so every check increase computer time for transaction end. Regards Pavel > > 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. > Personally, I never used - although I using often nesting regards Pavel > > 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. >