Sử dụng register
tham số cho pg_ctl
chương trình.
Thư mục dữ liệu không được lưu trữ trong Program Files
, vị trí của %ProgramData%
là ví dụ một lựa chọn tốt.
pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/db_data" ...
Trong các phiên bản Postgres mới hơn, tài khoản Windows riêng không còn cần thiết nữa, vì vậy, những điều sau đây cũng là đủ
pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data" ...
Chi tiết có trong sách hướng dẫn:http://www.postgresql.org/docs/current/static/app-pg-ctl.html
Bạn cần đảm bảo thư mục D:/Program Files/PostgreSQL/9.0.4/db_data
có các đặc quyền chính xác cho người dùng windows mà bạn chỉ định với -U
cờ.
Btw:lưu trữ dữ liệu chương trình trong Program Files
là một ý tưởng tồi . Bạn nên di chuyển thư mục dữ liệu ra nơi nào đó bên ngoài Program Files
bởi vì Program Files
thường bị hạn chế nhiều đối với người dùng thông thường - với một lý do rất chính đáng.