Re: Undefined psql variables

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.

In response to

Responses

Browse pgsql-hackers by date

  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