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
--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin