2017-09-05 19:38 GMT+02:00 Tom Lane <t...@sss.pgh.pa.us>: > Pavel Stehule <pavel.steh...@gmail.com> writes: > > 2. what syntax we should to use (if we accept this feature)? There was > not > > another proposal if I remember well - The PRAGMA syntax is strong because > > we can very well specify to range where the plans caching will be > > explicitly controlled. It is well readable and static. > > The complaint I have about PRAGMA is that it's yet another syntax for > accomplishing pretty much the same thing. If you don't like the GUC > solution, we've already got the "comp_option" syntax for static options > in plpgsql. Sure, that's not too pretty, but that's not a good reason > to invent yet another way to do it. >
comp_option has only function scope, what is too limited for this purpose. I don't prefer GUC for this purpose because you need to do SET/RESET on two places. With GUC the code can looks like: PERFORM set_config('cachexx', 'off') FOR r IN SELECT ... LOOP PERFORM set_config(' cachexx', 'on') .... PERFORM set_config('cachexx', 'off') END LOOP; PERFORM set_config('cachexx', 'on'); The another reason for inventing PRAGMA syntax to PLpgSQL was support for autonomous transaction and I am thinking so is good idea using same syntax like PL/SQL does. > > regards, tom lane >