Mehrfach-Installationen unter Windows

Hallo zusammen,
ich bin seit einiger Zeit auf der Suche nach einer Möglichkeit, PostgreSQL mehrfach auf einem Windows-System installieren zu können.
Am Ende möchte ich ein Setup haben, das neben meiner eigentlichen Anwendung, zusätzlich einen Apache Webserver mit PHP und PostgreSQL-Server installiert, die völlig unabhängig von bereits installierten Servern auf dem Rechner laufen, konfiguriert werden können und im Zweifelsfalle auch wieder deinstalliert werden können.

Die aktuelle Version des PostgreSQL-Setups wird mit einem BitRock-Installer ausgeliefert. Wenn PostgreSQL bereits auf dem System installiert wurde, erlaubt es dieses Setup nicht, eine weitere Instanz zu installieren. Gibt es Möglichkeiten das zu umgehen?
Von BitNami gibt es einen Wapp-Stack der mehrere Instanzen erlaubt. Leider ist diese Fertiglösung für meinen Anwendungsfall zu unflexibel.

Mittlerweile trete ich da seit Wochen auf der Stelle und bin um jeden Tip dankbar.

Warum nimmst Du nicht einfach die ZIP Distribution und entpackst diese als Teil Deiner Setup-Routine.
Nach dem Entpacken, musst Du dann manuell “initdb” aufrufen. Entweder startest Du den Server dann manuell selber zusammen mit Deiner Anwenung (mittels pg_ctl) oder Du verwendest pg_ctl die “Installation” als Windows-Service zu registrieren. Der Name des Service ist dabei frei wählbar.

Danke!
Manchmal ist die Lösung so simpel. Ich habe so viele Stunden investiert, um eine Lösung für das Problem zu finden und dann ist es so einfach. Danke.

Hi,
habe auch gerade diese ‘Problem’-Stellung gehabt.
Habe es so geloest:
Mit "initdb -D ‘C:\pg_data\new’ " Datenbank initialisiert
Dann mit sc.exe ein Service erstellt
sc create postgresql-9.0-new binPath= "C:\Program Files\PostgreSQL\9.0\bin\pg_ctl.exe runservice -N “postgresql-9.0-new” -D “C:\pg_data\new” -o “-p 5435"” start= auto obj= .\postgres password= WindowsUserPassword DisplayName= “NEW PostgreSQL Server”
Das Service dann manuell gestartet.

Gab dann nur 2 Probleme:

  1. in der postgresql.conf war listen_adresses ausgeklammert
  2. Egal was ich auch probiert habe, ich konnte nur ueber ‘trust’ und nicht mit dem postgres-User und ‘md5’ zugreifen. Habe es bis jetzt nicht hinbekommen. Notloesung ist momentan, dass ich einen neuen User mithilfe des pgAdmin angelegt habe, und mit dem funktioniert es dann.
    Bin waehrend dem Schreiben gerade drauf gekommen, warum es so ist: Es wird zwar ein postgres User in der DB angelegt, aber der hat natuerlich kein Passwort :wink: .

Ich finde es ja einfacher mit pg_ctl den Service anzulegen …