2017-09-08 19:14 GMT+02:00 Simon Riggs <si...@2ndquadrant.com>: > On 6 September 2017 at 07:43, Robert Haas <robertmh...@gmail.com> wrote: > > > LET custom_plan_tries = 0 IN SELECT ... > > Tom has pointed me at this proposal, since on another thread I asked > for something very similar. (No need to reprise that discussion, but I > wanted prepared queries to be able to do SET work_mem = X; SELECT). > This idea looks a good way forward to me. > > Since we're all in roughly the same place, I'd like to propose that we > proceed with the following syntax... whether or not this precisely > solves OP's issue on this thread. > > 1. Allow SET to set multiple parameters... > SET guc1 = x, guc2 = y > This looks fairly straightforward > > 2. Allow a SET to apply only for a single statement > SET guc1 = x, guc2 = y FOR stmt > e.g. SET max_parallel_workers = 4 FOR SELECT count(*) FROM bigtable > Internally a GUC setting already exists for a single use, via > GUC_ACTION_SAVE, so we just need to invoke it. > > Quick prototype seems like it will deliver quite quickly. I couldn't > see a reason to use "LET" rather than just "SET" which would be the > POLA choice. > > Thoughts? >
why not Pavel > -- > Simon Riggs http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >