如何在Windows中运行PostgreSQL作为服务?

时间:2014-12-19 13:10:52

标签: java postgresql windows-services

我在windows 7 32bit操作系统中安装了postgreSQL二进制文件;我可以从cmd启动服务器,但我无法将其作为Windows服务运行。

这是我在尝试手动启动服务时遇到的错误:

"The postgreSQL service on local computer started and then stopped. some services stop automatically if they are not in use by other servces or programs"

我需要做的就是;当我双击我的java应用程序启动到Windows后,我需要顺利运行我的应用程序,没有任何数据库错误。我不能这样做因为postgreSQL没有作为Windows服务运行。

我在Windows事件查看器中找到了这个:

The description for Event ID 0 from source PostgreSQL cannot be found.
Either the component that raises this event is not installed on your local computer or the installation is corrupted.
You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event: 

postgres cannot access the server configuration file 
"C:/Windows/system32/pgsql/data/postgresql.conf": No such file or directory

我用Google搜索,但我无法找到答案。

3 个答案:

答案 0 :(得分:1)

问题解决了 Windows服务文件中数据目录的路径错误。

所以我从这个方法中删除了服务文件:

1)运行Regedit或Regedt32。

2)转到注册表项“HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services”

3)查找要删除的postgreSQL服务并将其删除。

4)重新启动计算机。

之后打开cmd(以管理员身份运行)转到postgreSQL bin目录并运行此命令以创建新的Windows服务:

pg_ctl.exe register -N "postgresql" -U "NT AUTHORITY\NetworkService" -D "C:/Program Files/postgresql/pgsql/bin/pgsql/data" -w

这对我有用。希望这会有所帮助。

答案 1 :(得分:0)

  

postgres无法访问服务器配置文件   “ C:/Windows/system32/pgsql/data/postgresql.conf”:没有这样的文件或   目录

这看起来像您的工作目录是C:\Windows\system32,并且您正在那里运行postgres,并且它寻找data/postgresql.conf

尝试更改工作目录或指定-D C:\path\to\my\data

答案 2 :(得分:0)

这是普通用户的注意事项。如果使用官方安装程序,则应具有内置服务,

  1. Win + R 并输入services.msc
  2. 根据安装的版本搜索Postgres服务, 例如“ postgresql-x64-13-PostgreSQL Server 13”
  3. 单击停止,启动或重新启动服务选项