I think you need to add parens around the command to populate DBLIST and
remove the quotes in the GRANT command.

In bash this works for me:


DBLIST=$(/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d postgres -q
-t -c "SELECT datname from pg_database where datname in ('tempdb')")
/usr/lib/postgresql/11/bin/psql -p 5432 -U postgres -d $DBLIST -c "GRANT
CONNECT ON DATABASE $DBLIST TO dbuser1"





On Mon, Sep 9, 2019 at 5:58 AM nikhil raj <nikhilraj...@gmail.com> wrote:

> Hi Karsten,
>
> yup you are right can you help in i tried by removing quotion and also
> adding extra having same issue.
>
> On Mon, Sep 9, 2019 at 5:25 PM Karsten Hilbert <karsten.hilb...@gmx.net>
> wrote:
>
>> On Mon, Sep 09, 2019 at 05:16:20PM +0530, nikhil raj wrote:
>>
>> >
>> > The DB is already there and getting the error of the DB does not exist
>> > where I execute it via shell.
>> > 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"
>> >
>> > ERROR: database "cdf_100_1313" does not exist
>>
>> Likely a quoting issue.
>>
>> Karsten Hilbert
>> --
>> GPG  40BE 5B0E C98E 1713 AFA6  5BC0 3BEA AC80 7D4F C89B
>>
>>
>>

Reply via email to