gpt4 book ai didi

.net - PostgreSQL 服务停止工作

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:03 25 4
gpt4 key购买 nike

我遇到的问题是我的 PostgreSQL 实例在我的应用程序运行后的某个时间经常停止工作。通过重新启动 PostgreSQL windows 服务,我能够让它再次工作,但我需要知道是什么让我的 postgres 实例停止工作。

通过查看 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) 数据库上进行一些处理。每 10 秒就有 2 台“客户端”机器使用此 Web 服务。

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

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);
}
}

在我的网络服务功能中,我根据需要打开和关闭连接,这样我就不会在运行时留下打开的连接。通过查看机器使用 Web 服务时的常见事件,我注意到只有大约 3-4 个连接(当没有数据库事件发生时处于空闲状态)。我检查了 postgres 默认设置,“max_connections”设置为 100。

我真的很难解决这个问题,我们将不胜感激!

谢谢!

最佳答案

有一个bugfix in version 8.3.8 (发布日期:2009-09-09)针对这个问题:

Fix Windows shared-memory allocation code (Tsutomu Yamada, Magnus)

This bug led to the often-reported "could not reattach to shared memory" error message.

使用SELECT version();检查你的版本

关于.net - PostgreSQL 服务停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com