Wie genau rufst du initdb auf, wie sehen die Zugriffsrechte für das Datenverzeichnis aus und kannst du als User postgres Dateien und Verzeichnisse in diesem Verzeichnis erstellen?
dieses Problem tritt in der Regel auf, wenn die Installation nicht unter einem Admin mit vollen Rechten erfolgt, oder nicht auf dem neusten Microsoft Installer Package (MSI) ein Update erfolgt ist. Sinnvolerweise solltest Du die aktuellsten Updates installiert haben.
Wie man vorgehen sollte, habe ich hier im Forum schon x-mal beschrieben. Such mal in meinen Beiträgen:
Die Fehlermeldung ist eigentlich eindeutig: Zugriff verweigert
Dazu solltest Du über den Installationprozess folgendes wissen: Vorausgesetzt ist das normale Installationsscipt. Während der Installation werden 2 User angelegt. Der erste nennt sich “postgres” und ist der User unter dem der Datenbankserver gestartet wird. Das Password wird, wenn Du es nicht explizit eingibst (was Du ohne tiefere Kenntniss nicht machen solltest), per Zufallsgenerator erzeugt. Der 2. User ist der Admin der Datenbank. Der User “postgres” sollte ein Eintrag in “Lokale Benuter und Gruppen haben”. Ab dem Verzeichnis “…\PostgreSQL\8.1” müssen für diesen User auch explizite Zugriffsrechte eingetragen sein. Ich vermute mal, dass hier die Ursache liegt. Dieses sollte aber alles automatisch erfolgen. Die Hauptgründe hierfür sind, wie schon genannt, wenn die Installation nicht unter einem Admin mit vollen Rechten erfolgt oder das neuste Microsoft Installer Package (MSI) nicht installiert ist. Da du ja eine Vergleichsmöglichkeit hast, solltest Du das Microsoft Installer Package auf Win2000 und WinXp untersuchen, ob sie die gleiche Versionsnummer haben. Vielleicht gibt es da doch ein Unterschied.
Eine weitere Möglichkeit für Installationsprobleme habe ich in einem Beitrag unter den nachfolgenden Link beschrieben: