C# を使用して、postgreSQL データベースからバックアップを取得するアプリケーションを開発しています。私は、以下のコードを使用して実行し、pg_dump.exe から出力します。
ProcessStartInfo startinfo = new ProcessStartInfo
{
FileName = "\"C:\\Program Files (x86)\\pgAdmin III\\1.16\\pg_dump.exe\"",
Arguments = "--host XXX.XXX.XXX.XXX --port 5432 --username \"USERNAME\" --no-password --format plain --verbose --file \"D:\\MYBACKUP.backup\" \"MYDBNAME\"",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
Process proc = new Process();
proc.StartInfo = startinfo;
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
var r = proc.StandardOutput.ReadLine();
}
proc.WaitForExit();
Console.WriteLine(proc.ExitCode);
Console.ReadLine();
しかし、proc.StandardOutput.ReadLine は常に null を返します!!!
次のようなコマンドproptを使用して、pg_dump.exeの出力をファイルに出力しようとしました:
C:\Program Files (x86)\pgAdmin III\1.16>pg_dump.exe > d:\log.txt
しかし、やはりlog.txtは空です!!
前もって感謝します。