use*_*443 9 installation service database-connection windows-7-x64 postgresql-9.2
我试图让Postgres 9.2.4在Windows 7上作为服务运行.安装postgres后,该服务运行正常.但是,将postgres设置为另一个程序的服务器后,该服务停止运行.当我现在尝试启动服务时,我收到一条消息说:
"postgresql-x64-9.2 - 本地计算机上的PostgreSQL Server 9.2服务已启动然后停止.如果某些服务未被其他服务或程序使用,则会自动停止."
当我尝试运行应该使用数据库服务器的程序时,我收到此错误:
"尝试登录或创建生产数据库时遇到问题.详细信息:无法连接到服务器;无法连接到远程套接字.应用程序现在必须关闭"
打开同一个程序时我也遇到过这个错误:
"尝试登录或创建生产数据库时遇到问题.详细信息:致命:无法加载pg_hba.conf应用程序现在必须关闭."
我已经尝试运行作为本地系统帐户登录的服务以及我自己的帐户(在postgres服务属性中)无济于事.我也尝试重新启动计算机.经过大量在线故障排除后,我了解到要检查的好处是pg_log文件.以下是最新的pg_log条目的内容:
2013-05-29 14:59:45 MDT LOG: database system was interrupted; last known up at 2013-05-29 14:58:01 MDT
2013-05-29 14:59:45 MDT LOG: database system was not properly shut down; automatic recovery in progress
2013-05-29 14:59:45 MDT LOG: record with zero length at 0/175BB98
2013-05-29 14:59:45 MDT LOG: redo is not required
2013-05-29 14:59:45 MDT LOG: database system is ready to accept connections
2013-05-29 14:59:45 MDT LOG: autovacuum launcher started
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:09:03 MDT LOG: received fast shutdown request
2013-05-29 15:09:03 MDT LOG: aborting any active transactions
2013-05-29 15:09:03 MDT LOG: autovacuum launcher shutting down
2013-05-29 15:09:03 MDT LOG: shutting down
2013-05-29 15:09:03 MDT LOG: database system is shut down
Run Code Online (Sandbox Code Playgroud)
它似乎与pg_hba.conf文件有问题,如下所示:
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 0.0.0.0 0.0.0.0 trust
Run Code Online (Sandbox Code Playgroud)
根据网上的许多建议,我尝试将顶线编辑为多种不同的替代方案(托管所有信任/托管所有127.0.0.1/32信任/托管所有192.168.0.100/24信任等).这对我来说很有意义,因为日志文件说postgres不支持本地连接,并且也指向该行.但是,我的更改都没有任何效果.我尝试在每次更改后重新启动计算机,但没有任何区别.
当我搜索pg_hba.conf文件通常的样子时,示例与我的文件略有不同.我注意到在PostgreSQL程序文件中,除了pg_hba.conf之外,还有一个"20130529-150444-old-pg_hba.conf"文件看起来更像我在网上找到的例子.在最后几行之前,此文件有几行注释:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
Run Code Online (Sandbox Code Playgroud)
我希望这是原始的pg_hba.conf文件,如果我用旧文件的内容替换新文件,postgres将再次开始工作.没有这样的运气.我一直希望在pg_log中记录更多错误文件,以查看先前声明的错误是否已消失或更改为其他内容,但是没有记录更多文件.
我已经在网上进行了几天的故障排除,而且我发现没有任何效果.很抱歉有这么长的问题,但我想要彻底并包含所有相关信息.如果有人能对这个问题有所了解或提出建议,我将不胜感激.
Windows计算机不支持本地条目.见E.20.3.1.3.验证.
在不支持Unix套接字连接的平台上拒绝pg_hba.conf中的本地行(Magnus Hagander)
以前,这些线路被默默地忽略了,这可能是令人惊讶的.这使得行为更像其他不受支持的情况.
从以下位置更改配置:
local all all trust
Run Code Online (Sandbox Code Playgroud)
至:
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅19.1.pg_hba.conf文件.
小智 5
在Windows 7计算机上安装Postgresql版本后,我遇到了这个问题.最初它正常工作,但突然停止(可能是在一些Windows更新后).许多试用者都在改变权限,但它没有让它发挥作用.几个月后,我发现文件中的问题是空的,同时它应该有一些数据.验证此路径:C:\ Program Files(x86)\ Postgresql\8.3\data \(其中8.3必须替换为您的版本号).检查Postmaster.pid文件是否为空(使用Wordpad或记事本打开).如果为空,请将其重命名为_Postmaster.pid(或其他名称).转到"开始"菜单,在命令框中键入services.msc按Enter找到Postgresql数据库条目双击它单击"开始"按钮如果服务启动,将创建一个新的Postmaster.pid(包含一些数据)您可以检查它在上面指出的路径中.
好的提示来自分析事件查看器:打开Windows资源管理器,选择"计算机",右键单击"管理",选择"事件查看器",等待"管理事件摘要"加载,打开"错误"节点,找到"Source"列中的"PostgreSQL"条目并双击它.在Postmaster.pid文件中有提示通知伪造数据.
我希望这些信息可以帮到你.干杯! 埃德.
所以,快速免责声明,我现在在 Linux 上运行 PostgreSQL。但是,几年前,我确实在 Windows 上运行过它。而且我似乎还记得这个问题。我认为线索就在这一行:
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
Run Code Online (Sandbox Code Playgroud)
本地连接是 Unix 的事情。您正在使用Windows。所以“这个版本不支持”。尝试将本地更改为本地主机并重新启动。以下是Postgres 邮件列表上发布的类似问题的输入链接描述:
| 归档时间: |
|
| 查看次数: |
37039 次 |
| 最近记录: |