无法连接到 PostgreSQL 服务器:致命:角色“apache”不存在

Posted

技术标签:

【中文标题】无法连接到 PostgreSQL 服务器:致命:角色“apache”不存在【英文标题】:Unable to connect to PostgreSQL server : FATAL: role "apache" does not exist 【发布时间】:2020-08-10 14:06:11 【问题描述】:

使用 php 7.3、Codeigniter 3.0.5、PostgreSQL 9 我收到一个错误 pg_connect(): Unable to connect to PostgreSQL server: FATAL: role "apache" does not exist

我的应用程序将在编码安装过程中自动创建数据库。我必须将 CI 升级到下一个更高版本 3.0.6 并检查安装过程的工作情况。所以我使用 psql 命令删除现有的 db-DROP DATABASE dbname; 使用 postgres 命令行作为超级用户 - su - postgres

当删除 db 并测试升级时,我遇到了上面给出的致命错误(注意:- 相同的测试过程已成功用于先前的升级测试)。任何人都知道为什么会发生这种情况以及任何解决方案。提前致谢。

【问题讨论】:

【参考方案1】:

在我看来,有些东西正在尝试使用 Web 服务器(我假设是 Apache)用户名连接到数据库。该错误告诉您该名称没有数据库角色(用户)。您的选择是使用数据库中存在的角色或CREATE ROLE apache 进行连接,因此它确实存在于数据库中。

【讨论】:

以上是关于无法连接到 PostgreSQL 服务器:致命:角色“apache”不存在的主要内容,如果未能解决你的问题,请参考以下文章

centos8下postgreSQL入门3.2.1之无法连接到服务器

org.postgresql.util.PSQLException:致命:从 Spring Boot 连接到 postgres 时用户“postgres”的密码验证失败

无法连接到端口 5432 上的 Postgresql

PHP 无法在 CentOS 7 上连接到 PostgreSQL

Postgresql 适配器(pg):无法连接到服务器

无法连接到服务器:PostgreSQL -Heroku