Użyj register
parametr dla pg_ctl
program.
Katalog danych nie powinien być przechowywany w Program Files
, lokalizacja %ProgramData%
to m.in. dobry wybór.
pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/db_data" ...
W nowszych wersjach Postgres oddzielne konto Windows nie jest już potrzebne, więc wystarczy również poniższe
pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data" ...
Szczegóły w instrukcji:http://www.postgresql.org/docs/current/static/app-pg-ctl.html
Musisz upewnić się, że katalog D:/Program Files/PostgreSQL/9.0.4/db_data
ma odpowiednie uprawnienia dla użytkownika systemu Windows określonego za pomocą -U
flaga.
Btw:złym pomysłem jest przechowywanie danych programu w Program Files
. Powinieneś przenieść katalog danych gdzieś poza Program Files
ponieważ Program Files
jest zwykle mocno ograniczony dla zwykłych użytkowników - nie bez powodu.