Silent install of PostgreSQL on Windows mittels pg_installer

  1. Die Beschreibung dafür findet man hier Silent install of PostgreSQL on Windows

  2. Die Beschreibung ist unvollständig. Es fehlen die Beschreibungen der Parameternamen: “SUPERPASSWORDV” und “SERVICEPASSWORDV”. Die Werte der Parameternamen ersetzen die Defaultwerte der Felder in der Dialogbox welche die Bestätigung des SUPERPASSWORD’s bzw. des SERVICEPASSWORD’s angeben.

  3. Existiert der Windows User “postgres” nicht, so fordert der Installer bei der händischen Installation von PostgreSQL mittels der Dialogbox eine Bestätigung ein, ob er den Windows User “postgres” anlegen soll.

In der Beschreibung “Silent install of PostgreSQL” findet man hierfür keinen Parameternamen, mit dessen Wert man das automatische Anlegen des Windows User “postgres” bewirken kann. Aufgrund des fehlenden Wertes bricht der Installer die Installation von PostgreSQL nach kurzer Zeit mit dem Fehler 1603 ab.

Der Windows User “postgres” muss aber unbedingt vorhanden sein, da er zum Starten des PostgreSQL-Server Dienstes, über den die Kommunikation zwischen den Client’s und der PostgreSQL Datenbank läuft, unbedingt benötigt wird.

Umgehen kann man das Problem nur, wenn der Windows User “postgres” vorab angelegt wird. In einem Firmennetzwerk wird der Windows User “postgres” sinnvollerweise auf einen Domain Controller angelegt. Man kann aber auch den Windows User auf dem Computer anlegen, auf dem die Datenbank installiert werden soll. Bei der Silent Installation ist dann mittels des Parameternamen “SERVICEDOMAIN” der Name des Computers anzugeben, auf dem der Windows User “postgres” registriert ist. In den meisten Fällen kann man hierzu die Environment-Variable “LOGONSERVER” abfragen. Allerdings müssen für den "SERVICEDOMAIN-Wert die führenden Zeichen “\” entfernt werden.

  1. In einem Netzwerk muss die Datei “pg_hba.conf” für die Client-Authentifizierung nach der Installation von PostgreSQL angepasst werden. Näheres hierzu kann man in der PostgreSQL Dokumentaion nachlesen.

  2. Der Windows User muss immer “postgres” heissen, da dieser Name in verschiedenen Installationscripts hart kodiert ist. Ein anderer Name wird nicht akzeptiert !!!

  3. Ob man bei der Silent Installation die richtigen Werte übergeben hat, kann mit der Msiexec-Option /qf überprüft werden. Diese Option startet die Dialogbox wie bei händischen Installation von PostgreSQL. Da die übergebenen Werte die Default-Werte des Dialoges überschreiben, können diese dann optisch überprüft werden.

Achtung! Zu diesen FAQ-Beitrag gibt es einen Diskussionsartikel. Diesen findest du hier: http://www.pg-forum.de/smalltalk/4345-anmerkung-zu-einer-faq.html