Re: Creating role using batch file in windows

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: Creating role using batch file in windows
Date: 2010-10-26 08:50:58
Message-ID: ia64pi$1h1$1@dough.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Martin Povolny 2010-10-26 11:41:44 large database: problems with pg_dump and pg_restore
Previous Message Lukasz Brodziak 2010-10-26 06:58:24 Re: Creating role using batch file in windows