2012-04-26 3 views
1

Проблема заключается в том, что мой экземпляр 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.

У меня действительно тяжелое время с этой проблемой, любая помощь будет оценена!

Спасибо!

+0

Я советую вам обратиться в PostGreSQL форуме: http://archives.postgresql.org/pgsql-general/ – leonbloy

+3

Вы должны модернизировать как можно скорее. 8.3 будет отменена в начале следующего года. И 9.x намного лучше в Windows –

ответ

3

Существует а (Дата выпуска: 2009-09-09) bugfix in version 8.3.8 этой проблемы:

Fix Windows, разделяемой памяти код распределения (Цутому Ямада, Magnus)

Эта ошибка привела к часто сообщалось «не удалось подключиться к общему сообщению ».

Проверьте версию с помощью SELECT version();

Смежные вопросы