Dav*_*vid 25 postgresql service
我在Windows服务中有这个:
C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe runservice -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w
Run Code Online (Sandbox Code Playgroud)
它永远不会完成执行.但是,如果我在dos shell上执行此操作:
C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe start -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w
Run Code Online (Sandbox Code Playgroud)
请注意,我只将"runservice"更改为"start",它运行正常.
任何的想法?
Jay*_*zzi 35
命令runservice只能由服务管理器执行
为了修复我的localhost windows 7以启动postgres作为服务我使用以下命令来启动数据
pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" start
Run Code Online (Sandbox Code Playgroud)
然后检查状态是否有错误
pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" status
Run Code Online (Sandbox Code Playgroud)
如果你得到错误1063,它超过可能的权限,我执行以下命令
cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F
Run Code Online (Sandbox Code Playgroud)
然后重新开始/状态,它显示一切正常,但仍然服务经理不会启动服务
因此,在Services-> postgresql-> options-> logon中我将登录设置为本地系统帐户而不是postgres用户,并且它工作正常
在手动移动数据库数据文件(PG_DATA目录)而不重新创建所有必需的权限后,我遇到了相同的问题。
这是我解决问题的方法:
cacls "c:\path\to\old\pgdata\dir"
Run Code Online (Sandbox Code Playgroud)
cacls "d:\path\to\NEW\pgdata\dir"
Run Code Online (Sandbox Code Playgroud)
找到用户和/或权限之间的差异,然后进行同步。
注意:我发现将其explorer用于同步步骤比cacls直接从命令行使用更容易。
| 归档时间: |
|
| 查看次数: |
64738 次 |
| 最近记录: |