| From: | Ron Johnson <ronljohnsonjr(at)gmail(dot)com> |
|---|---|
| To: | Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Having trouble passing a shell variable to a query from psql command line |
| Date: | 2025-08-29 18:27:49 |
| Message-ID: | CANzqJaBC5rx0fNbmx1bom9ZE3v1UgQxH3uXWOFHCfUb=rkqcEQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
On Fri, Aug 29, 2025 at 1:52 PM Murthy Nunna <mnunna(at)fnal(dot)gov> wrote:
> Hello,
>
>
>
> Below works:
>
>
>
> psql -d mydb -t -A -c "SELECT relkind FROM pg_class WHERE relname =
> 'pg_trigger' ;"
>
> r
>
>
>
> I am getting syntax error from following:
>
>
>
> echo $SHELL_VAR
>
> pg_trigger
>
>
>
> psql -d mydb -t -A -c "SELECT relkind FROM pg_class WHERE relname =
> :'SHELL_VAR' ;" -v SHELL_VAR="$SHELL_VAR"
>
> ERROR: syntax error at or near ":"
>
> LINE 1: SELECT relkind FROM pg_class WHERE relname = :'SHELL_VAR' ;
>
> ^
>
> Is psql script necessary to pass shell variable?
>
Yeah. From the cli KISS and do regular bash variable string expansion.
psql -d mydb -tAc "SELECT relkind FROM pg_class WHERE relname =
${SHELL_VAR} ;"
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Murthy Nunna | 2025-08-29 18:31:52 | RE: Having trouble passing a shell variable to a query from psql command line |
| Previous Message | Tom Lane | 2025-08-29 18:16:21 | Re: Having trouble passing a shell variable to a query from psql command line |