The following bug has been logged online:
Bug reference: 4392
Logged by: Andrea Villardino
Email address: andrea.villardino@wki.it
PostgreSQL version: 8.3.3
Operating system: windows server 2003(or vista)
Description: initdb doen't work with options -U username and -W
Details:
if i do an installation with:
msiexec /i "%PATH_DB_INSTALLER%postgresql-8.3-int.msi" /l*v
%DB_INSTALL_DIR_LOG%postgres_install.log /qr INTERNALLAUNCH=1
ADDLOCAL=server,psql SERVICEDOMAIN=%COMPUTERNAME%
SERVICEACCOUNT=%DB_SERVICE_ACCOUNT% SERVICEPASSWORD=%DB_SERVICE_PASSWORD%
SUPERUSER=%DB_SUPERUSER_ACCOUNT% SUPERPASSWORD=%DB_SUPERUSER_PASSWORD%
ENCODING=%DB_SERVER_ENCODING% LOCALE=%DB_SERVER_LOCALE% it works.
But when I try to divede msiexec from inidb it doesn't work.
In particular:
"C:\\Program Files\\postgresql\\8.3\\bin\\initdb.exe" --pgdata="C:\\Program
Files\\postgresql\\8.3\\data" --encoding=UNICODE --locale=C It works. But:
"C:\\Program Files\\postgresql\\8.3\\bin\\initdb.exe" --pgdata="C:\\Program
Files\\postgresql\\8.3\\data" --encoding=UNICODE --locale=C -U andrea -W
Doesn't work because when i try to start up the postgres service there are a
lot of error in the application event viewer saying:
FATAL: role "postgres" does not exist
Even if the inidb output is ok:
C:\WINDOWS>"C:\\Program Files\\postgresql\\8.3\\bin\\initdb.exe"
--pgdata="C:\\Program Files\\postgresql\\8.3\\data" --encoding=UNICODE
--locale=C -U andrea -W The files belonging to this database system will be
owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".
fixing permissions on existing directory C:/Program
Files/postgresql/8.3/data ... ok creating subdirectories ... ok selecting
default max_connections ... 100 selecting default
shared_buffers/max_fsm_pages ... 32MB/204800 creating configuration files
... ok creating template1 database in C:/Program
Files/postgresql/8.3/data/base/1 ... ok initializing pg_authid ... ok Enter
new superuser password:
Enter it again:
setting password ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok creating conversions ... ok
creating dictionaries ... ok setting privileges on built-in objects ... ok
creating information schema ... ok vacuuming database template1 ... ok
copying template1 to template0 ... ok copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections You can
change this by editing pg_hba.conf or using the -A option the next time you
run initdb.
Success. You can now start the database server using:
"C:\\Program Files\\postgresql\\8.3\\bin\postgres" -D "C:/Program
Files/postgresql/8.3/data"
or
"C:\\Program Files\\postgresql\\8.3\\bin\pg_ctl" -D "C:/Program
Files/postgresql/8.3/data" -l logfile start
C:\WINDOWS>