Re: Having trouble passing a shell variable to a query from psql command line
От | Tom Lane |
---|---|
Тема | Re: Having trouble passing a shell variable to a query from psql command line |
Дата | |
Msg-id | 2335799.1756491381@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Having trouble passing a shell variable to a query from psql command line ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
RE: Having trouble passing a shell variable to a query from psql command line
|
Список | pgsql-admin |
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Fri, Aug 29, 2025 at 10:52 AM Murthy Nunna <mnunna@fnal.gov> wrote: >> 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' ; > I provide the documentation. Under psql -c: > "command must be either a command string that is completely parsable by the > server (i.e., it contains no psql-specific features)" Yeah. The argument of a -c switch is just sent to the server as-is. However, you don't need a script file to fix this. You can do something like echo "SELECT relkind FROM pg_class WHERE relname = :'SHELL_VAR' ;" | psql -d mydb -t -A -v SHELL_VAR="$SHELL_VAR" regards, tom lane
В списке pgsql-admin по дате отправления: