Win7的。 Postgres 9.3。
每当我在cmd中输入“postgres”时,我都会收到此错误。
创建了一个没有任何管理员权限且具有“登录身份”权限且具有对postgres / data的正确目录访问权限的新帐户,然后我将此帐户设置为服务菜单中的“登录身份”,但我仍然得到同样的错误。
update2017:我从来没有找到解决方案。
答案 0 :(得分:6)
对于Windows,请执行以下操作:
net user postgres your_password /add
runas /user:postgres cmd.exe
whoami
答案 1 :(得分:2)
您的问题是否正在尝试启动Postgres 服务或"手动"在没有注册Windows服务的情况下启动Postgres。
由于9.x Postgres不需要它自己的Windows用户帐户来运行该服务。它默认使用内置的"网络"帐户。
要启动Postgres服务(如果已正确安装),只需使用
net start postgresql-9.3
(实际名称可能不同)
如果您没有注册Windows服务,则应通过pg_ctl.exe
而不是postgres.exe
启动Postgres。启动服务器时,pg_ctl.exe
将从进程中删除任何管理权限。
要从命令行手动启动Postgres,请使用:
pg_ctl -w -D c:\Path\To\The\DataDirectory
假设正确设置了对数据目录的访问权限,以便当前用户具有对该目录的完全访问权限。
如果您想手动安装/创建Windows服务,也可以通过pg_ctl
程序执行此操作:
pg_ctl register -N "postgresql-9.3" -D c:\Path\To\The\DataDirectory
必须再次正确设置数据目录的访问权限。