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.

Reply via email to