.net PostgreSQL服务停止工作

.net PostgreSQL服务停止工作,.net,database,wcf,web-services,postgresql,.net,Database,Wcf,Web Services,Postgresql,我的问题是,我的PostgreSQL实例经常在应用程序运行后的某个时候停止工作。通过重新启动PostgreSQL windows服务,我可以让它再次工作,不过我需要知道是什么原因使我的postgres实例停止工作 通过查看postgres日志,我发现以下错误: 这就是我正在研究的场景。我正在使用一个WCF服务,该服务在PostgreSQL(8.3)数据库上进行一些处理。每10秒有2台“客户端”计算机使用此web服务 从客户端应用程序初始化web服务,如 RemoteServiceClient s

我的问题是,我的PostgreSQL实例经常在应用程序运行后的某个时候停止工作。通过重新启动PostgreSQL windows服务,我可以让它再次工作,不过我需要知道是什么原因使我的postgres实例停止工作

通过查看postgres日志,我发现以下错误:

这就是我正在研究的场景。我正在使用一个WCF服务,该服务在PostgreSQL(8.3)数据库上进行一些处理。每10秒有2台“客户端”计算机使用此web服务

从客户端应用程序初始化web服务,如

RemoteServiceClient service = new RemoteServiceClient();
在web服务方面,每次初始化时,我都会创建一个新的postgres连接实例。这里我不是打开连接,只是初始化:

public class Service : IService
{
    NpgsqlConnection connection = null;

    /// <summary>
    /// Default constructor for remote service
    /// </summary>
    public Service()
    {
        connection = new NpgsqlConnection(Utils.DBConnectionString);
    }
}
公共类服务:iSeries
{
NpgsqlConnection=null;
/// 
///远程服务的默认构造函数
/// 
公共服务()
{
连接=新的NpgsqlConnection(Utils.DBConnectionString);
}
}
在我的web服务的功能中,我会根据需要打开和关闭连接,这样我就不会让打开的连接处于动态状态。通过查看机器使用web服务时的常见活动,我只注意到大约3-4个连接(当没有发生DB活动时为空闲)。我检查了postgres的默认设置,“最大连接数”设置为100

我真的很难解决这个问题,任何帮助都将不胜感激

谢谢

此问题有一个解决方案(发布日期:2009-09-09):

修复Windows共享内存分配代码(山田津、马格纳斯)

此错误导致经常报告的“无法重新连接到共享 “内存”错误消息


使用
SELECT version()检查您的版本

我建议您在postgresql论坛上提问:您应该尽快升级。8.3将于明年年初取消支持。而9.x在Windows上要好得多
public class Service : IService
{
    NpgsqlConnection connection = null;

    /// <summary>
    /// Default constructor for remote service
    /// </summary>
    public Service()
    {
        connection = new NpgsqlConnection(Utils.DBConnectionString);
    }
}