Използвайте register
параметър за pg_ctl
програма.
Директорията с данни не трябва да се съхранява в Program Files
, местоположението на %ProgramData%
е напр. добър избор.
pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/db_data" ...
В по-новите версии на Postgres вече не е необходим отделен акаунт в Windows, така че следното също е достатъчно
pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data" ...
Подробности са в ръководството:http://www.postgresql.org/docs/current/static/app-pg-ctl.html
Трябва да се уверите, че директорията D:/Program Files/PostgreSQL/9.0.4/db_data
има правилните привилегии за потребителя на Windows, който сте посочили с -U
флаг.
Между другото:лоша идея е да съхранявате програмни данни в Program Files
. Трябва да преместите директорията с данни някъде извън Program Files
защото Program Files
обикновено е силно ограничен за редовни потребители - с много добра причина.