Gunakan register
parameter untuk pg_ctl
program.
Direktori data tidak boleh disimpan di Program Files
, lokasi %ProgramData%
adalah misalnya pilihan yang bagus.
pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/db_data" ...
Di Postgres versi yang lebih baru, akun Windows terpisah tidak lagi diperlukan, jadi yang berikut ini juga cukup
pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data" ...
Detailnya ada di manual:http://www.postgresql.org/docs/current/static/app-pg-ctl.html
Anda perlu memastikan direktori D:/Program Files/PostgreSQL/9.0.4/db_data
memiliki hak istimewa yang benar untuk pengguna windows yang Anda tentukan dengan -U
bendera.
Btw:menyimpan data program di Program Files
adalah ide yang buruk . Anda harus memindahkan direktori data di suatu tempat di luar Program Files
karena Program Files
biasanya sangat dibatasi untuk pengguna biasa - dengan alasan yang sangat bagus.