The following bug has been logged online:
Bug reference: 3814
Logged by: Christian Ullrich
Email address: chris@chrullrich.net
PostgreSQL version: 8.3beta4
Operating system: Windows 2003
Description: initdb fails when not run from installation directory
Details:
initdb output when run from a random cwd:
C:\WINDOWS\system32>\Programme\PostgreSQL\8.3-beta4\bin\initdb -E UNICODE
--locale=German_Germany -D d:\var\psql
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 German_Germany.
The default text search configuration will be set to "german".
fixing permissions on existing directory d:/var/psql ... 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 d:/var/psql/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... FATAL: could not open file
"/Programme/PostgreSQL/8.3-beta4/share/postgres.description" for reading: No
such file or directory
STATEMENT: COPY tmp_pg_description FROM
E'/Programme/PostgreSQL/8.3-beta4/share/postgres.description';
child process exited with exit code 1
initdb: removing contents of data directory "d:/var/psql"
---------------------
initdb output when run from the installation directory:
C:\Programme\PostgreSQL\8.3-beta4\bin>initdb -E UNICODE
--locale=German_Germany -D d:\var\psql
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 German_Germany.
The default text search configuration will be set to "german".
fixing permissions on existing directory d:/var/psql ... 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 d:/var/psql/base/1 ... ok
initializing pg_authid ... 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:
-----------------------------------
Opening the relative path in the error message from the cwd of that attempt
using, e.g., notepad, works.