Usa il register
parametro per il pg_ctl
programma.
La directory dei dati non deve essere archiviata in Program Files
, la posizione di %ProgramData%
è ad es. una buona scelta.
pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/db_data" ...
Nelle versioni più recenti di Postgres, non è più necessario un account Windows separato, quindi è sufficiente anche quanto segue
pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data" ...
I dettagli sono nel manuale:http://www.postgresql.org/docs/current/static/app-pg-ctl.html
Devi assicurarti che la directory D:/Program Files/PostgreSQL/9.0.4/db_data
ha i privilegi corretti per l'utente Windows specificato con -U
bandiera.
A proposito:è una cattiva idea memorizzare i dati del programma in Program Files
. Dovresti spostare la directory dei dati da qualche parte al di fuori di Program Files
perché Program Files
di solito è molto limitato per gli utenti regolari, con un'ottima ragione.