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@sss.pgh.pa.us > <mailto:tgl@sss.pgh.pa.us>> wrote: > > > On Sep 9, 2019, at 7:16 AM, nikhil raj <nikhilraj474@gmail.com > <mailto:nikhilraj474@gmail.com>> 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 >