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
>
--
Adrian Klaver
adrian.klaver@aklaver.com