Initialisierungsvorgang eines neuen Db Clusters mit "initdb" oder "pg_ctl init" loggen

Hallo zusammen,

gibt es eine Möglichkeit, auf einem Windowsrechner die Consolenausgabe der Befehle

initdb.exe …
pg_ctl.exe init …

in eine Logdatei zu schreiben ?

Bei “pg_ctl” kann man zwar einen Parameter -l angeben. Aber der funktioniert nur in Verbindung mit dem Befehl “start”. Das Umleiten der Consolenausgabe mit dem Umleitungssymbol ‘>’ (also dem Größer-Zeichen) funktioniert bei beiden Tools auch nicht.

Ich starte die genannten Kommandozeilentools aus einer C++ Anwendung und möchte, dass die Consolenausgabe in eine Logdatei geschrieben wird. Programmieren möchte ich so eine Consolenausgabe-Umleitung aber nicht unbedingt. Vlt. geht das gar nicht.

Kennt jemand eine einfache Möglichkeit, die ohne Programmierung funktioniert ? Ich verstehe gar nicht, warum das nicht von Haus aus funktioniert …

Bin für jeden Tipp dankbar. Vielen Dank im Vorraus.

Holger

du wirst die Fehlerausgabe umleiten wollen, nicht die Standardausgabe.

Guten Morgen,

danke für den Hinweis.

Mein Fehler war, dass ich die Umleitung der Ausgabe so versucht habe (was bei anderen Programmen auch funktioniert)

pg_ctl.exe init -D c:\temp\database -o "-E SQL_ASCII > c:\temp\POSTGRES\initdb.log

Wenn ich das so mache

pg_ctl.exe init -D c:\temp\database -o "-E SQL_ASCII > c:\temp\POSTGRES\initdb.log 2>&1

funktioniert es Gott sei Dank.

Ein schöner Start in den Tag. Dank Deines Tipps :wink: