Re: database "cdf_100_1313" does not exist - Mailing list pgsql-general

From nikhil raj
Subject Re: database "cdf_100_1313" does not exist
Date
Msg-id CAG1ps1yJFD1kCBGk4pMyN-BupTs+ii0mjPLRbbcxsELqZFQHzw@mail.gmail.com
Whole thread Raw
In response to Re: database "cdf_100_1313" does not exist  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses RE: database "cdf_100_1313" does not exist
List pgsql-general
Hi Adrian,


DBLIST=/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d postgres -q -t -c "SELECT datname from pg_database where datname in ('CDF_100_1313')"

/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d $DBLIST -c "GRANT CONNECT ON DATABASE \"$DBLIST\" TO cpupdate"

only in the grant its taking space rest in -d its perfectly all right.


On Mon, Sep 9, 2019 at 8:04 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
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

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: database "cdf_100_1313" does not exist
Next
From: "Daniel Verite"
Date:
Subject: Re: database "cdf_100_1313" does not exist