【问题标题】:The postgresql-x64-9.6 service on local computer started and then stopped. Some services stop automatically if they are not in use本地计算机上的 postgresql-x64-9.6 服务启动然后停止。某些服务在不使用时会自动停止
【发布时间】:2017-08-08 05:00:37
【问题描述】:

Postgresql 服务未在 services.msc 中启动。在 Window server 2008 R2 中启动 PostgreSQL 服务时显示以下消息。

" 本地计算机上的 postgresql-x64-9.6 服务启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。"

【问题讨论】:

  • 检查 PostgreSQL 日志和您的事件查看器日志。
  • 在事件查看器日志中显示超时错误消息。
  • @user3931984 - 请在 ServerFault 或 SuperUser 上提问。这与编程问题无关,因此不属于 SO。
  • 详细信息:来自事件查看器和 postgres 日志的确切错误消息。由于文本不是屏幕截图,因此它们是可搜索的。
  • 事件日志:致命:XX000:C:\Program Files\PostgreSQL\13\bin\postgres.exe:找不到匹配的 postgres 可执行文件位置:getInstallationPaths,d:\pginstaller_13.auto\postgres。 windows-x64\src\backend\postmaster\postmaster.c:1489 有什么想法吗?

标签: postgresql


【解决方案1】:

由于某些原因,postgresql 进程仍在后台运行。

如果您的系统被强制关闭,您可能会遇到此问题。 解决方案:

  1. Windows + X(打开任务管理器 - 进程)

  2. 查找所有正在运行的 postgresql 服务并“结束任务”。

在所有进程结束后。您可以重新打开任务管理器以确保没有任何 postgres 服务正在运行。

  1. 重启 Postgresql 服务器

【讨论】:

  • 我遇到了与原始帖子中描述的完全相同的问题,这对我有用。
【解决方案2】:

我也有同样的问题。我听从了@Craig Ringer 的建议。当我检查事件查看器时,我收到了这个错误。2018-06-18 12:34:11.222 GMT [4200] FATAL: lock file "postmaster.pid" already exists 2018-06-18 12:34:11.222 GMT [4200] HINT: Is another postmaster (PID 6172) running in data directory "C:/Program Files/PostgreSQL/10/data"? 所以我删除了我的 postgreSQL 数据目录中的“postmaster.pid”文件,再次启动服务,这一次,服务正常启动。 此错误可能是由于 postgreSQL 服务未完全关闭所致。

【讨论】:

  • 事件查看器 → Windows 日志 → 应用程序。我来自PostgreSQLErrorpostgres: superuser_reserved_connections (3) plus max_wal_senders (10) must be less than max_connections (10)。似乎我错误地配置了max_connections。解决了,谢谢。
  • 同时删除同一目录下的postmaster.opts文件。然后重启服务。没有任何错误应该没问题。我希望它会有所帮助。 :)
【解决方案3】:

通过将运行服务的帐户更改为“本地系统”解决了我的问题,之后我就可以启动服务了。

【讨论】:

    【解决方案4】:

    我已经解决了同样的问题。 在这里我已经完成了。 我删除了两个文件,然后重新启动服务。请在“C:/Program Files/PostgreSQL/10/data”目录中找到这些文件:postmaster.optspostmaster.pid。 正如您看到@Abodesegun Ezekiel 的回答,我又删除了一个名为“postmaster.opts”的文件 它对我有用。

    希望对您有所帮助。

    【讨论】:

      【解决方案5】:

      我对这里的问题有一个额外的答案,为什么会出现有点误导性的错误消息,现在是更新版本,12.2 vs 9.6,(“本地计算机上的 postgresql-x64-12 - PostgreSQL 12 服务器服务启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。)

      显然,pg_hba.conf文件中的错误会导致出现上面的错误信息,服务启动失败。

      在我的情况下,我编辑了文件,但未能正确注释掉 (#) 注释。经过多次谷歌搜索,我从来没有看到提到过,但 DID 终于记得仔细检查我的编辑,问题是一个简单的错误。

      我修好了,现在服务启动了,没问题。

      -Windows 10 x64 企业版 1909 18363.752 -PostgreSQL 12.2 (Windows)

      【讨论】:

      • 同样的事情发生在我身上。我编辑了 pg_hba.conf,后来尝试重新启动它不再运行的服务器。必须修复 pg_hba.conf 以使其再次工作。所以+1。
      【解决方案6】:

      解决了我的问题。我在postgresql.conf 中硬编码了hba_file 的路径。这样可行。由于某种原因,Windows 有一个路径名前缀,这会导致在错误的路径中搜索 pg_hba.conf 文件。现在可以了,我可以启动服务并打开数据库了。

      【讨论】:

      • 类似问题,postgresql.conf 中的配置错误。我发现错误消息有点误导。
      【解决方案7】:

      在 postgresql-x64-10 上遇到此错误,在 Windows 事件查看器(Windows 日志 -> 应用程序)上记录了以下内容:

      • 信息:等待服务器启动...
      • 错误:postgres:无法访问目录“.../PostgreSQL_10_data”:没有这样的文件或目录
      • 错误:运行 initdb 或 pg_basebackup 来初始化 PostgreSQL 数据目录。
      • 错误:等待服务器启动超时

      在这种情况下的问题原来是错误中标识的数据目录位于已断开连接的便携式磁盘上。将磁盘连接回系统后,postgres 服务就可以正常启动了。

      【讨论】:

        【解决方案8】:

        在 Windows-10 中遇到与 Postgresql-9.4 相同的错误。

        在我的情况下,我在 postgresql.conf 文件中进行了一些手动配置更新,并且必须验证在 postgresql.conf 文件中所做的配置更改的语法。我已按照以下步骤解决了该问题。

        • 删除%POSTGRESQL-HOME%/9.4/Data/目录下的postmaster.pid文件
        • postgresql.confpg_hba.conf 文件中提供正确的语法(或引用)
        • 重启 Postgresql 服务

        【讨论】:

          【解决方案9】:

          更改登录帐户以启动该过程 Local System account

          【讨论】:

            【解决方案10】:

            对我来说,删除文件不起作用。 但是在将 postgres 登录用户更改为“本地系统”后重新启动机器是可行的。

            【讨论】:

              【解决方案11】:

              当您安装了 2 个版本(例如 10 和 11)时,也会发生这种情况。 所以,在某些情况下,你想运行 11,但 10 已经启动并运行了。

              所以你要做的是停止 10 并尝试启动 11。 在 Windows 中,您可以通过运行 -> 然后键入 services.msc 并找到列出的 2 个服务,然后您可以停止和启动。

              【讨论】:

                【解决方案12】:

                对我来说,只需删除 C:\Program Files\PostgreSQL\12\data 中的 som 文件,其中 12 是我的版本,文件名是 =>postmaster.pidpostmaster.conf,然后尝试运行 service agine 我认为它会起作用

                【讨论】:

                • 您好,补充一点:通过打开任务管理器并搜索 PostgreSQL,确保没有 PostgreSQL 进程已经在后台运行。如果找到右键单击 -> 结束任务。
                【解决方案13】:

                在我的情况下,这个错误是由于将 postgresql.conf 文件中的 shared_buffers 和 work_mem 参数编辑为过高的值,降低它们解决了问题

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2013-09-11
                  • 1970-01-01
                  • 2013-12-27
                  • 2016-10-21
                  • 2016-06-10
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多