Re: Having trouble passing a shell variable to a query from psql command line

Поиск
Список
Период
Сортировка
От Ron Johnson
Тема Re: Having trouble passing a shell variable to a query from psql command line
Дата
Msg-id CANzqJaBC5rx0fNbmx1bom9ZE3v1UgQxH3uXWOFHCfUb=rkqcEQ@mail.gmail.com
обсуждение исходный текст
Ответ на Having trouble passing a shell variable to a query from psql command line  (Murthy Nunna <mnunna@fnal.gov>)
Ответы Re: Having trouble passing a shell variable to a query from psql command line
Список pgsql-admin
On Fri, Aug 29, 2025 at 1:52 PM Murthy Nunna <mnunna@fnal.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!

В списке pgsql-admin по дате отправления: