Windows 7下PostgreSQL pg_ctl注册错误

3
在Windows 7上,使用PostgreSQL 9.3.2,我正在尝试注册第二个PostgreSQL实例作为服务,并使用不同的端口号和数据目录在同一台服务器上。第二个集群已经成功地通过initdb命令创建在C:\Program Files\PostgreSQL\9.3\data2下。
当我从C:\Program Files\PostgreSQL\9.3\bin运行以下pg_ctl register命令时,我收到一个错误消息:
pg_ctl register -N postgresql9.2_2nd_cluster -U "NT AUTHORITY\NetworkService" -D "C:\Program Files\PostgreSQL\9.3\data2" -S auto -o "-p 5431"

pg_ctl: could not open service manager

我在谷歌上搜索了这个问题,但没有太大的进展。

1
你是本地管理员吗? - user330315
太好了,a_horse_with_no_name!我必须在我的DOS控制台上使用管理员权限执行该命令。谢谢! - Sébastien Clément
Postgres不支持DOS操作系统。 - user330315
@SébastienClément 我想你的意思是“命令提示符”或“cmd.exe”... - Craig Ringer
2个回答

13

这个错误:

pg_ctl:无法打开服务管理器

表明您可能是在启用用户帐户控制(UAC)的机器上运行非管理员控制台。

当您从开始菜单->命令提示符启动控制台时,请右键单击它并选择“以管理员身份运行”。


0
  • 以管理员身份打开命令提示符
  • 打开服务 (win+R -> services.msc)
  • 如果你可以看到PostgreSQL,请注销它。
  • 为注销PostgreSQL,
pg-ctl unregister [-N SERVICENAME] 
**%path%\PostgreSQL\12\bin\pg_ctl unregister -N "service_name"**

*服务名称将显示在服务上 服务


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接