On 9/9/19 7:30 AM, nikhil raj wrote:
Hi All,
just did few modification of the shell command still having the same
issue. Having the issue with the Grant command only its not taking the
parameters.
/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d $DBLIST -c
"GRANT CONNECT ON DATABASE \"$DBLIST\" TO cpupdate"
ERROR: database " CDF_100_1313" does not exist
You are not showing how you are currently generating DBLIST. From the
looks of it you have a leading space in the database name:
" CDF_100_1313"
*
*
*** For the above one we have its taking space in the Databases name
starting.*
/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d $DBLIST -c "GRANT
CONNECT ON DATABASE "$DBLIST" TO cpupdate"
psql: warning: extra command-line argument "ASD_100_1313 TO cpupdate"
ignored
ERROR: syntax error at end of input
LINE 1: GRANT CONNECT ON DATABASE
^
On Mon, Sep 9, 2019 at 7:47 PM Tom Lane <tgl@xxxxxxxxxxxxx
<mailto:tgl@xxxxxxxxxxxxx>> wrote:
> On Sep 9, 2019, at 7:16 AM, nikhil raj <nikhilraj474@xxxxxxxxx
<mailto:nikhilraj474@xxxxxxxxx>> wrote:
>> /usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d $DBLIST
-c "GRANT CONNECT ON DATABASE $DBLIST TO cpupdate"
>> ERROR: database "cdf_100_1313" does not exist
This still isn't quoted properly. It's tricky since double-quote is
special to both the shell and SQL. You need something like
/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d "$DBLIST" -c
"GRANT CONNECT ON DATABASE \"$DBLIST\" TO cpupdate"
regards, tom lane
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx