Installation mittels Konsole

Hallo,

ich muss PostgreSQL auf einem Server mit Betriebssystem Windows 2003 Server installieren. Auf meinem eigenen Rechner ist ebenfalls 2003 Server installiert. Auf den Server greife ich über die Remotedesktopverbindung zu. Zunächst habe ich einfach versucht, die Datei postgresql-8.1.msi durch Doppelklick zu installieren. Dieser Versuch bricht aber nach kurzer Zeit ab. Eine entsprechende Fehlerbehandlung ist hier in Kapitel 3.5 zu finden: http://pginstaller.projects.postgresql.org/faq/FAQ_windows.html#3.5

Also habe ich versucht, das ganze über die Eingabeaufforderung zu installieren. Zunächst über den ganz normalen RDP-Zugriff, dann indem ich RDP mit dem angegebenen Befehl ( mstsc /console ) gestartet habe.

Der Befehl, den ich zum Installieren ausführe, lautet folgedermaßen:
msiexec /i postgresql-8.1-int.msi /qr INTERNALLAUNCH=1 ADDLOCAL=server,psql,npgsql,pgadmin,pgxs DOSERVICE=1 DOINITDB=1 SERVICEDOMAIN="%COMPUTERNAME%" SERVICEACCOUNT=“postgres” SERVICEPASSWORD=“PASSWORT_DES_SERVICEACCOUNTS” SUPERUSER=“postgres” SUPERPASSWORD=“PASSWORT_DES_DB_BENUTZERS” BASEDIR=“c:\Programme\Postgres” DATADIR=“D:\Postgre\Daten” TRANSFORMS=:lang_de

Dieser Installationsversuch wird abgebrochen mit dem Kommentar:
Benutzerkonto #############s###/####1 existiert nicht
Die # stehen dabei für kryptische ASCII-Zeichen

Der Benutzer ist aber von einem Admin angelegt worden und existiert. Ich selber kann während der Installation auch gar keine Benutzer anlegen, da ich nur Domänenadmin bin (was mir das Recht, Benutzer anzulegen, offenbar nicht einräumt).
Ich habe auch schon versucht, den Computernamen noch vor den Serviceusername zu schreiben - erfolglos.

Ich bin mit meinem Latein mittlerweile völlig am Ende.

Ach ja, ich hatte vor einiger Zeit auch schon versucht, die DB lokal bei mir über die Konsole zu installieren, was auch nicht geklappt hat. Damals habe ich dann einfach auf die GUI-Installtion zurückgegriffen, was dieses Mal leider nicht geht.

Gruß Flo

Hallo Flo,

Deine Installation scheitert wohl daran, dass Du auf dem Server keine volle administrative Rechte hast. Die werden aber für die Installation von PostgreSQL unbedingt benötigt.

Hintergrund:
Aus Sicherheitsgründen läuft der DB-Server unter einen eigenen User. Default heißt dieser User “Postgre”. Dieser User muß angelegt werden. Das Password für den User wird mittels Zufallsgenerator erzeugt. Es ist daher für jedem unbekannt. Der Dienst zum Starten des DB-Servers muss eingerichtet werden. Auch werden die Rechte für bestimmte angelegte Verzeichnisse an den User vergeben. Und in die Registry werden auch Einträge vorgenommen.

Also, ohne volle Adminrechte wirst Du wohl nicht auskommen. Ich würde den (Ober-)Admin doch mal bitten, Dir zu zeigen, wie man mit Deinen Domänenadmin-Rechten die Datenbank installieren kann. Sie sind ja Spezialisten in der Installation von Software! :smiley: :smiley: :smiley:



mfg

fristo

Ok, ich habe mal versucht, das ganze lokal auf meinem Rechner zu installieren (sowohl unter 2003 Server als auch unter Windows XP Professional).
Dabei erscheint der gleiche Fehler. Also stimmt das so weit mit Deinen Vermutungen überein, dass der Benutzer bei der Installation mit angelegt werden muss und man offenbar keinen vorhanden verwenden kann. Die offizielle Installationsanleitung ( http://pginstaller.projects.postgresql.org/silent.html ) sagt aber eigentlich etwas anderes.
Also habe ich den Benutzer gelöscht und ihn von der Installation selber anlegen lassen. Dann kommt die Installation auch ein deutliches Stück weiter, bricht aber am Ende dennoch ab und zwar mit folgender Fehlermeldung (unter Windows XP):

Interner Fehler bei Suche nach Benutzerkonto:
Zuordnung von Kontennamen und Sicherheritskennungen wurden nicht durchgeführt.


unter Windwos 20003 Server:
Die Anwendung konnte nicht gestartet werden, weil libpq.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben.

Blöd nur, dass es sich ja gerade um eine Neuinstallation handelt…


Deinen Ratschlag mit den Admins werde ich nutzen. Da es sich dabei aber um eine externe Firma handelt, will ich denen nicht einfach sagen: Installiert mal ne PostgreSQL-DB, sondern würde ihnen gerne die Datei geben und einen funktionierenden Installationsstring, den die nur noch unter ihrem Account ausführen müssen.
Deshalb würde ich das ganze gerne zunächst auf meinem Rechner, wo ich ja volle Admin-Rechte und auch das gleiche Betriebssystem habe, erfolgreich zum Laufen kriegen.

P.S.: Bist Du sicher, dass der Standarduser “Postgre” heißt? Ich bin bislang immer von “postgres” ausgegangen. Vielleicht liegt hier auch irgendwo der Fehler…

Der Eintrag

SERVICEDOMAIN="%COMPUTERNAME%"

verursacht das Problem - es gibt einen Pufferüberlauf bei Useraccount.

Gruß Bobbin.

Oh, ein Pufferüberlauf ist allerdings ein schwerwiegender Fehler. Gibt es dafür bereits einen Bugreport?