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 <t...@sss.pgh.pa.us <mailto:t...@sss.pgh.pa.us>> wrote:

     > On Sep 9, 2019, at 7:16 AM, nikhil raj <nikhilraj...@gmail.com
    <mailto:nikhilraj...@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.kla...@aklaver.com


Reply via email to