From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Undefined psql variables |
Date: | 2017-01-23 18:04:04 |
Message-ID: | CADkLM=f9bPK0hozfnBKttt3q1n2VXCJ_Mherd4iSfZbJiAOTPA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jan 23, 2017 at 12:53 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Corey Huinker <corey(dot)huinker(at)gmail(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2017-01-23 18:07:14 | Re: Undefined psql variables |
Previous Message | Greg Stark | 2017-01-23 18:03:03 | Re: Online enabling of page level checksums |