archiv_command unter Win Server 2008

Hallo,
ich kämpfe gerade mit der Konfiguration von PITR unter Windows Server 2008.
Ich erzähl einfach mal von vorne:
Ich habe Postgres 8.4.1-1 auf einem Windows Server 2008 installiert. Der Postmaster-Dienst läuft unter dem lokalen Benutzer postgres, der aus Sicherheitsgründen keine Administratorrechte hat. Soweit funktioniert das ganz anständig und unabhängig von einer Anmeldung am Windowsserver.
Nun möchte ich PITR nutzen und dafür im archiv_command mittels eines copy-Befehls die WAL-Files auf einem anderen Server sichern. Am selben Server möchte ich sie nicht ablegen, denn ich glaube das macht wenig Sinn. Das ganze sollte eigentlich auch unabhängig von einer Benutzeranmeldung am Server klappen.
Jetzt habe ich aber das Problem, dass der Postmaster ja unter einem lokalen Nutzer läuft, der auf dem anderen Server keine Rechte hat. Einen entsprechenden Domänenbenutzer möchte ich für den Postmaster-Dienst nicht verwenden, ich denke mal das wäre aus Sicherheitsgründen nicht so gut. Ich wollte dann im archiv_command das entsprechende Laufwerk für die Sicherung mit einer anderen Benutzerkennung mappen. Jetzt klappt es aber leider nicht, und im log steht auch keine Fehlermeldung. Wenn ich das Mapping auf der Kommandozeile mache, funktioniert es einwandfrei. Damit das Passwort nicht im Klartext auftaucht, habe ich den Befehl für das Mapping in eine exe verpackt. Zugriffsrechte etc. müssten passen. Ich vermute mal, dass Windoofs das Mapping evtl. in einem anderen Kontext bzw. in einem anderen Profil durchführt und dann das Laufwerk so nicht erreichbar ist. Ich hatte das schon mal unter Linux so gemacht und es hat einwandfrei funktioniert (über Samba). Leider darf ich kein Linux einsetzen. :angry:

Vielleicht ließe sich das Ganze umgehen, wenn ich dem lokalen Benutzerkonto postgres mehr Rechte gebe, aber ich weiß nicht ob das nicht ein Sicherheitsproblem ist.

Vielleicht hat ja die oder der eine oder andere von euch schon ein ähnliches Problem gelöst. Bin für jede Hilfe dankbar!

Dann habe ich noch eine vielleicht etwas blöde Frage: Meldet ihr euch am Server mit der lokalen postgres-Kennung an, oder nutzt ihr dafür einen anderen Account? Als postgres fehlen mir wieder die Rechte um z.B. den Dienst neu zu starten.

Viele Grüße
Tom

Ich halte von Windows ja genau nur eines: Abstand.

Aber vielleicht kannst Du ja mit OpenSSH hantieren, IIRC gibts das auch als Dienst unter Windows und zum PuTTY-Packet gibt es wohl auch ein scp. Damit läßt sich bestimmt besser hantieren, ich weiß es nicht. Ansonsten kannst Du ja auch andere Dinge nehmen, z.B. sollte auch FTP funktionieren.

Dann habe ich noch eine vielleicht etwas blöde Frage: Meldet ihr euch am Server mit der lokalen postgres-Kennung an, oder nutzt ihr dafür einen anderen Account? Als postgres fehlen mir wieder die Rechte um z.B. den Dienst neu zu starten.

Nein, ja. Sudo existiert. Wie gesagt: select ‘Abstand’ from windows; g

Andreas

:slight_smile: …da hast du wohl recht, nur leider kann ich da nix machen…

Danke schon mal für die Tips, dass werd ich mir mal anschauen. Jetzt kann ich ja erst mal bis Montag relaxen :wink:

Das Problem ist nur, ich kann auf dem Fileserver, auf den ich die WAL-Files übertragen möchte, nichts installieren…

Also an deiner Stelle würde ich mal ganz von vorn anfangen:

Dein Problem ist definitiv kein PostgreSQL-Problem sondern ein reines Windows Problem.

Versuch erst mal, ob und wie du Dateien von der lokalen Maschine auf das Netzwerk kopieren kannst, als Benutzer “postgres”. Lass die Datenbank außen vor.
Wenn das funktioniert, kannst du das 1:1 in das archive_command einbauen.

Hi,
da hast du bestimmt recht.
Wisst Ihr, ob etwas dagegen spricht den lokalen Benutzer “postgres” als Domänenbenutzer einzurichten? Könnte das ein Sicherheitsproblem sein, auch wenn er im Prinzip nur die nötigen Rechte erhält?

Diese Frage kann nur euer Netzwerkteam beantworten.

Hier kann niemand wissen, ob dieser Benutzer noch anderswo im Netzwerk Unsinn anstellen kann.


Hint: als Domänennutzer kann sich der Account dann auf allen PG-Datenbanken anmelden …

Hallo zusammen,

vielen Dank für eure guten Tipps.
Konnte das Problem mit Hilfe Eurer Hinweise lösen.
Habe es nun auch so hingekriegt, wie ich es wollte: im archive_command das Serverlaufwerk mit einem anderen Benutzer mappen, WAL-Files kopieren, Laufwerk wieder trennen.
Da hatte ich gleich mehrere Fehler gemacht: mehrere Kommandozeilenbefehle im archive_command sind mit | (Pipe) zu konkatenieren und in der Exe, die ich mir zum mappen des Laufwerks gebastelt habe musste ich im Pfad die “” verdoppeln, obwohl es eigentlich nur aufgerufen wurde.

Nun gehts - :smiley:

Schön zu hören :wink:

Ist Windows den Aufwand eigentlich wert? grübel :smiley: :smiley: