我刚刚在Windows 7 64位计算机上安装了postgresql-9.1.4-1-windows-x64。我无法启动服务并连接到数据库。 安装成功后,我根据类似的帖子尝试了以下内容。
1)在Start>下查找“Start Server”。所有程序> PostreSQL 9.1并找不到它。
2)尝试从命令行启动服务器
pg_ctl.exe -D "C:\Program Files\PostgreSQL\9.1\bin\data"
这给了我错误:
could not create lock file 'postmaster.pid': Permission denied
我有管理权限,bin或数据目录中没有postmaster.pid文件。
3)接下来,我尝试通过右键单击postgresql-9.1.4-1-windows-x64服务并选择“启动”,从管理工具启动服务。我收到了消息:
本地计算机上的postgresql-9.1.4-1-windows-x64服务已启动 并停了下来如果某些服务未使用,它们会自动停止 通过其他服务或计划。
事件查看器将错误显示为Timed out waiting for server startup
4)我认为数据目录中的数据可能是初始数据库,但以防我运行“initdb”并得到:
如果要创建新的数据库系统,请删除或清空 目录c:\ program files \ postgreSql / 9.1 / data或运行带有的initdb c:\ program files \ postgreSql / 9.1 / data
以外的参数
4)为了好玩我开始pgAdminIII,右击“PostreSQL 9.1(localhost:5432)”,选择Connect,输入密码,然后得到:
无法连接到服务器:连接被拒绝(0x0000274D / 10061)是 服务器在主机“localhost”(:1)上运行并接受TCP / IP 端口5432上的连接?
有人有建议吗?
感谢。
答案 0 :(得分:2)
«“无法创建锁定文件'postmaster.pid':权限被拒绝”»
不要再看了,如果无法创建这个临时文件,Postgres就无法启动。如果没有创建,如果你在磁盘上查找它,你显然找不到它。您的DATA目录已创建,因此无需再次重新运行initdb
,如果您尝试使用pgadmin,则会抱怨它无法连接到Pg - 它未运行。
我不熟悉Windows,但发现要创建postmaster.pid
的地方你可能会发现为什么Postgres无法创建这个文件。
希望它有所帮助。