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:https://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.