当前位置: 首页 > 知识库问答 >
问题:

psql:服务器意外地关闭了连接

曹驰
2023-03-14

我一直试图通过Postgre DB Server运行这个批处理文件,并运行两个不同的sql文件,如下所示:

set PGPASSWORD=blah
cls
@echo on
"C:\Progra~1\pgAdmin III\1.16\psql" -d [db name] -h [server name] -p 5432 -U postgres -f C:\query1.sql
"C:\Progra~1\pgAdmin III\1.16\psql" -d [db name] -h [server name] -p 5432 -U postgres -f C:\query2.sql

但是问题来了,有时我会得到下面的命令query1或query2的错误:

psql: server closed the connection unexpectedly 
This probably means the server terminated abnormally
before or while processing the request.

这种情况只是偶尔发生,所以我不完全确定为什么会发生。有人能解释为什么会这样,以及这个问题是否有解决办法吗?谢谢!

更新:在实际的Postgre应用程序中尝试打开远程服务器时,我有时也会遇到相同的错误:“出现错误:”服务器意外关闭连接这可能意味着服务器在处理请求之前或处理请求时异常终止。"

在点击错误弹出窗口后,我也得到了这个古鲁提示:

数据库编码创建数据库VA trac以使用SQL\U ASCII编码存储数据。此编码仅为7位字符定义;未定义第8位字符集(非ASCII字符127-255)的含义。因此,服务器不可能将数据转换为其他编码。如果要在数据库中存储非ASCII数据,强烈建议您使用表示语言环境字符集的正确数据库编码,以便在需要时从自动转换为不同的客户端编码中获益。如果将非ASCII数据存储在SQL_ASCII数据库中,可能会遇到由于代码转换问题而写入数据库或从数据库中读取的奇怪字符。当使用不同的客户端程序和驱动程序访问数据库时,这可能会使您感到非常头痛。对于大多数安装,Unicode(UTF8)编码将提供最灵活的功能。

不管怎样,服务器仍然会在之后打开,从那时起我就可以访问数据库了。

共有3个答案

咸琪
2023-03-14

就我而言,这是因为我在pg_hba中错误地设置了IP配置。conf,它位于Windows中的数据文件夹中。

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.0/24            md5

我错误地输入(复制-粘贴:-))192.168.0.0而不是192.168.1.0。

方飞翼
2023-03-14

事实证明,这是因为我的本地和服务器之间的PostgreSQL版本不匹配,在我的计算机中安装相同版本的PostgreSQL修复了该问题。谢谢

莫宁
2023-03-14

把这个留在这里找信息,

如果PostgreSQL server位于另一台计算机上且未侦听外部接口,也可能导致此错误。

调试此特定问题,您可以按照以下步骤操作:

  • 看看你的postgresql.conf,sudo vim /etc/postgresql/9.3/main/postgresql.conf
  • 添加一行:listen_addresses = '*'
  • 重启服务sudo /etc/init.d/postgresql重启

(注意,上面的命令是针对ubuntu的。其他linux发行版或操作系统可能有不同的路径到这些文件)

注意:使用'*'监听地址将监听所有接口。如果您执行'0.0.0.0',那么它将监听所有ipv4,如果您执行'::',那么它将监听所有ipv6。

http://www.postgresql.org/docs/9.3/static/runtime-config-connection.html

 类似资料:
  • 我是Ruby on Rails的新手。我通过教程创建了两个基本的演示应用程序 PG::错误 服务器意外关闭了连接这可能意味着服务器在处理请求之前或处理请求时异常终止。 而且有时(通常是在我重新启动postgresql时), PG::错误 服务器意外关闭了连接这可能意味着服务器在处理请求之前或处理请求时异常终止。无法发送启动数据包:管道中断 这是我的堆栈跟踪 我在Ubuntu12.04(因为goog

  • 问题内容: 我试图重现我在EC2上的node.js应用中看到的MySQL错误,其中包含节点mysql库: 连接丢失:服务器关闭了连接。 我无法在本地重现该错误-通过我的代码可以很好地处理数据库- 它仅每隔几秒钟重新检查一次,并在重新启动后重新连接到db。在EC2上,它发生在太平洋时间凌晨4点左右,但是数据库仍然正常运行。 我想 用我的本地mysql重现崩溃 在我的mysql帮助器模块中添加我需要的

  • 问题内容: 当我使用节点mysql时,在12:00到2:00之间出现错误,表明服务器已关闭TCP连接。这是完整的消息: 有解决办法。但是,以这种方式尝试后,问题也会出现。现在我不知道该怎么办。有人遇到这个问题吗? 这是我按照解决方案编写的方式: 问题答案: 尝试使用以下代码来处理服务器断开连接: 在您的代码中,我错过了之后的部分

  • 我在web应用程序中遇到了一个HttpClient(版本4.5.2)的问题,我的意思是,以多线程的方式。在正常情况下,当一个连接请求到达时,从池中租用一个连接,然后使用,最后再次释放回池中,以便在以后的请求中再次使用,作为id为673890的连接状态日志的以下部分。 在以我上面提到的正常方式多次使用上述连接(id 673890)后,我注意到代码中发生了以下情况: 日志说连接被请求、租用、使用、关闭

  • 我使用docker查看了瓶装水的github MD文件,遇到了一个关于postgresql的问题 如果我运行我会得到错误 这是我的docker compose中postgres和psql的配置。yml文件 这是我的pg_hba。配置文件 我已经做了好几天了,任何形式的帮助都将不胜感激!非常感谢。