On Mon, Jan 23, 2017 at 12:53 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Corey Huinker <corey.huin...@gmail.com> writes: > > I was giving some thought to how psql handles undefined variables. > > I would like an option where either psql can provide an alternate value > > when an undefined variable is referenced, or a way to detect that a > > specific variable is undefined and replace it with a defined variable. > > This seems pretty bizarre. What's the use case? Why would it not > be better to build the behavior out of other spare parts, along the > lines of COALESCE or perhaps > > \if not defined(x) > \set x y > \fi > > Obviously the \if stuff is things we don't have yet either, but > it seems less likely to have surprising side-effects. > > regards, tom lane > That'd work too, if \if and defined(psql_var_name) come to fruition. A use case we have now is where a script has several values that are almost always a default value. Instead of PGSERVICE=foo psql -f script.sql --set var1=a --set var2=b --set var3=d ... --set varN=n I can just specify the non-default values: PGSERVCE=foo psql -f script.sql --set var3=unusual_value and the code then shows the unusual needle in the default haystack.