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

PostreSQL 10无法在运行于Windows子系统的Ubuntu 18.04上启动

陈奇希
2023-03-14

我最近使用Windows子系统for Linux(WSL)在Windows10上重新安装了Ubuntu18.04。然后我安装了PostgreSQL 10并成功启动了数据库服务器。然后,我通过pgadmin4.4登录到服务器,并安装了PostGIS2.5.2扩展。我正准备通过pg_restore导入数据,这时PGAdmin说它已经失去了与PostgreSQL服务器的连接。我尝试重新启动,但日志中出现以下错误:

2019-04-04 15:46:12.561 DST [47] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2019-04-04 15:46:12.561 DST [47] LOG:  listening on IPv6 address "::", port 5432
2019-04-04 15:46:12.563 DST [47] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-04-04 15:46:12.614 DST [48] LOG:  database system was shut down at 2019-04-04 15:42:36 DST
2019-04-04 15:46:12.661 DST [47] LOG:  database system is ready to accept connections
2019-04-04 15:46:13.247 DST [55] [unknown]@[unknown] LOG:  incomplete startup packet
2019-04-04 15:46:53.541 DST [49] PANIC:  could not flush dirty data: Function not implemented
2019-04-04 15:46:53.543 DST [47] LOG:  checkpointer process (PID 49) was terminated by signal 6: Aborted
2019-04-04 15:46:53.543 DST [47] LOG:  terminating any other active server processes
2019-04-04 15:46:53.543 DST [68] postgres@postgres WARNING:  terminating connection because of crash of another server process
2019-04-04 15:46:53.543 DST [68] postgres@postgres DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2019-04-04 15:46:53.543 DST [68] postgres@postgres HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2019-04-04 15:46:53.543 DST [52] WARNING:  terminating connection because of crash of another server process
2019-04-04 15:46:53.543 DST [52] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2019-04-04 15:46:53.543 DST [52] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2019-04-04 15:46:53.549 DST [47] LOG:  all server processes terminated; reinitializing
2019-04-04 15:46:53.569 DST [69] LOG:  database system was interrupted; last known up at 2019-04-04 15:46:12 DST
2019-04-04 15:46:53.569 DST [69] PANIC:  could not flush dirty data: Function not implemented
2019-04-04 15:46:53.575 DST [47] LOG:  startup process (PID 69) was terminated by signal 6: Aborted
2019-04-04 15:46:53.575 DST [47] LOG:  aborting startup due to startup process failure
2019-04-04 15:46:53.579 DST [47] LOG:  database system is shut down
2019-04-04 15:46:53.579 DST [70] postgres@postgres FATAL:  the database system is in recovery mode

我尝试了Ubuntu18.04和PostgreSQL 10的新安装,同样的事情又发生了!我以前安装了上面描述的设置,这是工作良好的。有人对造成这个问题的原因有什么建议吗?

更新:A回答了下面的问题。

共有1个答案

明星剑
2023-03-14

因此,经过进一步的研究,我发现在最新的PostgreSQL更新中,以前的“不能刷新脏数据”警告被升级为Panics,我通过保留fsync=on并将data_sync_retry=true添加到PostgreSQL L.conf来解决这个问题。我希望这对其他有同样问题的人有用。该问题似乎已知,并将在将来得到解决(见https://github.com/microsoft/wsl/issues/645)。

 类似资料:
  • 我开始开发projet,现在使用windows。基本上,我可以使用maven生成一个Jar文件,但当我尝试运行Jar文件时,它并不好用。听起来好像没有找到hibernate属性。 我的错误: 我的Hibernate配置位于\src\main\Resources\application.properties 我怎么处理? [更新] 使用mvn spring boot运行时,我可能会得到不同的结果:r

  • 在完成了所有的安装过程之后,我得到了以下错误: 我已经通过PowerShell手动安装了ubuntu。https://docs.microsoft.com/en-us/windows/wsl/install-manual 当我输入Ubuntu并点击enter时,我收到一条服务尚未启动的消息。

  • 在 Windows 上执行命令将返回以下结果: 运行诊断程序会产生以下结果:

  • 虽然在windows上“原生地”运行Linux版本的python、pip等是令人惊奇的,但我想使用一个合适的IDE来实现。由于SSHD兼容性尚未实现,我正在尝试让PyCharm将Linux python识别为本地解释器。 安装Windows Linux子系统后,键入 但是对于我尝试的任何变体,我总是得到“sdk似乎无效”的说法。因为我不确定PyCharm到底在做什么来“验证”SDK,所以这很难克服

  • 问题内容: 当尝试在支持bash的最新Windows 10版本上使用Oracle JDK的Linux版本时,无论何时尝试调用二进制文件,我都遇到提示挂起的问题。 键入甚至挂起之类的简单内容,我也必须终止该过程以恢复控制。 有人在工作吗? 问题答案: 我想澄清一下,截至2016年12月9日,您肯定可以在Windows 10的Ubuntu Bash上安装Java 8,并且@Karl Horton是正确