Получение сообщений от postgres
я инициирую вакуумный процесс в postgres из исполняемого файла C#. Я хочу, чтобы сообщение было возвращено обратно в мой исполняемый файл, но я не могу получить сообщение из окна вывода.
короче говоря, я ищу эквивалент этого в postgres, используя NPGSQL, как:
// Display messages this code is for SQL server to reteive data back from message tab
conn.InfoMessage += delegate(object sender, SqlInfoMessageEventArgs e) {
stdmForm.txtLastSQLMessages.Text +`=` "n" + e.Message;
};
Я хочу получить это сообщение в моем коде C# с помощью NPGSQL.
2 ответов
я попробовал код ниже. Это даст вам полный журнал выполнения. Из этого я просто проанализировал свой требуемый журнал. Это не лучший способ, но я не смог найти ничего другого.
//log the Vacuum command information
NpgsqlEventLog.Level = LogLevel.Debug;
NpgsqlEventLog.LogName = VacuumLogFilePath + "rolling.log";
NpgsqlEventLog.EchoMessages = false;
try
{
//Run the Vacuum Command
NpgsqlCommand comm = new NpgsqlCommand("VACUUM VERBOSE ANALYZE", connection);
comm.ExecuteNonQuery();
}
попробуйте NpgsqlConnection.Событие уведомления, которое является аналогом PostgreSQL для SqlConnection.InfoMessage. Смотрите здесь: архив http://npgsql.projects.pgfoundry.org/docs/api/Npgsql.NpgsqlConnection.Notification.html.