Проблема заключается в том, что мой экземпляр PostgreSQL перестает работать часто после моего приложения. Путем перезапуска службы Windows PostgreSQL я могу заставить ее работать снова, хотя мне нужно знать, что заставляет мой экземпляр postgres перестать работать.Служба PostgreSQL перестает работать
Глядя на Postgres журнал, я получаю эту ошибку (среди прочих):
"FATAL: could not reattach to shared memory (key=348, addr=01E70000): 487
2012-04-25 11:05:24 PDT WARNING: worker took too long to start; cancelled"
Это сценарий, я работаю над. Я работаю с сервисом WCF, который обрабатывает некоторую обработку в базе данных PostgreSQL (8.3). Есть 2 «клиентских» компьютера, которые потребляют этот веб-сервис каждые 10 секунд.
С клиентского приложения Я инициализации веб-службы, как
RemoteServiceClient service = new RemoteServiceClient();
На стороне веб-службы, на каждой инициализации я делаю новый экземпляр соединения Postgres. Здесь я не открывая соединение, только инициализацией:
public class Service : IService
{
NpgsqlConnection connection = null;
/// <summary>
/// Default constructor for remote service
/// </summary>
public Service()
{
connection = new NpgsqlConnection(Utils.DBConnectionString);
}
}
Внутри функций моего веб-сервиса, я открываю & тесные связи по мере необходимости, таким образом, я не оставлять открытыми соединения на лету. Рассматривая общую активность, когда компьютеры потребляют веб-службу, я замечаю только около 3-4 подключений (IDLE, когда не происходит активность БД). Я проверил настройки по умолчанию postgres и «max_connections» установлен на 100.
У меня действительно тяжелое время с этой проблемой, любая помощь будет оценена!
Спасибо!
Я советую вам обратиться в PostGreSQL форуме: http://archives.postgresql.org/pgsql-general/ – leonbloy
Вы должны модернизировать как можно скорее. 8.3 будет отменена в начале следующего года. И 9.x намного лучше в Windows –