Thread: using placeholders in psql

using placeholders in psql

From
Oleg Bartunov
Date:
Peter,

just an idea to use placeholders (?) in psql.
It would be useful for interactive work and debuging.
We already have powerful features in psql but sometimes
we need more. If user enter select string with placeholder,
he may get prompt to input something for arg1, then for arg2...

Regards,    Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83



Re: using placeholders in psql

From
Peter Eisentraut
Date:
Oleg Bartunov writes:

> just an idea to use placeholders (?) in psql.
> It would be useful for interactive work and debuging.
> We already have powerful features in psql but sometimes
> we need more. If user enter select string with placeholder,
> he may get prompt to input something for arg1, then for arg2...

You can simulate this:

$ cat test.sql
\echo -n 'Enter something: '
\set val1 `read && echo $REPLY`

\echo -n 'And something else: '
\set val2 `read && echo $REPLY`

select :val1, :val2;

$ psql -f test.sql
Enter something: 55<enter>
And something else: 77<enter>?column? | ?column?
----------+----------      55 |       77
(1 row)

Does this work for your application?

The question marks pose too much of an incompatibility problem.  The :var
notation was already much disputed, even though it's kind of standard.

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



Re: using placeholders in psql

From
Oleg Bartunov
Date:
On Sat, 5 May 2001, Peter Eisentraut wrote:

> Oleg Bartunov writes:
>
> > just an idea to use placeholders (?) in psql.
> > It would be useful for interactive work and debuging.
> > We already have powerful features in psql but sometimes
> > we need more. If user enter select string with placeholder,
> > he may get prompt to input something for arg1, then for arg2...
>
> You can simulate this:
>
> $ cat test.sql
> \echo -n 'Enter something: '
> \set val1 `read && echo $REPLY`
>
> \echo -n 'And something else: '
> \set val2 `read && echo $REPLY`
>
> select :val1, :val2;
>
> $ psql -f test.sql
> Enter something: 55<enter>
> And something else: 77<enter>
>  ?column? | ?column?
> ----------+----------
>        55 |       77
> (1 row)
>
> Does this work for your application?

Thanks for the tip. Sure, it works.
But my thought was about intrinsic feature of psql.
Most time I use psql is for interactive debugging. With history
feature it would be very convenient.

>
> The question marks pose too much of an incompatibility problem.  The :var
> notation was already much disputed, even though it's kind of standard.
>

question mark is just borrowed from DBI syntax, no problem with
:var


>
Regards,    Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83