Re: Creating role using batch file in windows - Mailing list pgsql-admin

From Thomas Kellerer
Subject Re: Creating role using batch file in windows
Date
Msg-id ia64pi$1h1$1@dough.gmane.org
Whole thread Raw
In response to Re: Creating role using batch file in windows  (Lukasz Brodziak <lukasz.brodziak@gmail.com>)
List pgsql-admin
Lukasz Brodziak, 26.10.2010 08:58:
>> The problem with a batch file is that you will need to provide the password
>> for the superuser in clear text - which is probably not something you will
>> want to do.
>>
>> But if that isn't a problem (and you actually know the superuser password of
>> your client) then the following might work:
>>
>> ------------- snip ---------------
>> @echo off
>> setlocal
>>
>> set PGHOST=localhost
>> set PGUSER=postgres
>> set PGPASSWORD=the_super_secret_password
>>
>> createuser role_1 1>  nul 2>&1
>> createuser role_2 1>  nul 2>&1
>> ...
>>
>> endlocal
>> ------------- snip ---------------
>>
>>
> One more question. Does the SET PGPASSWORD sets pass for the role?

No, it sets the password for the superuser (the one that is needed to run createrole)

> If not how to set the password for the role using the script provided.

I don't think this can be specified with createuser, but you could use psql to run a single statememt.

Something like:

psql -c "create role new_role  with password 'new_roles_password'"

(You might need to play around with the quoting)
The environment variables are then used to establish the connection to the correct Postgres instance.

Regards
Thomas








pgsql-admin by date:

Previous
From: Lukasz Brodziak
Date:
Subject: Re: Creating role using batch file in windows
Next
From: Martin Povolny
Date:
Subject: large database: problems with pg_dump and pg_restore