PhpStorm说PostgreSQL数据库不存在?

5
我可以通过一个PHP脚本使用完全相同的凭据连接到protomolecule数据库。但是在PhpStorm中设置失败,如图片所示。
如果我将protomolecule数据库更改为默认的postgres数据库,则可以在PhpStorm中成功连接。我无法弄清楚为什么用户只能连接到postgres而不能连接其他任何东西。
我已经尝试设置新用户和新数据库,但没有成功。

PhpStorm Data Sources and Drivers window

编辑: 如所请求,以下是可工作的PHP脚本设置。

array(
    'database' => 'protomolecule',
    'driver' => 'Pgsql',
    'hostname' => 'localhost',
    'username' => 'postgres',
    'password' => 'xxxxxxxxxxxxx',
    'port' => '5432'
)

用户运行 PHP 脚本和运行 PHPStorm 是否相同?如果不是,我猜您可能有权限问题。能否展示一下连接正常的 PHP 脚本呢? - BlueZed
检查你的防火墙设置。可能是PHPStorm被禁止了! - Ahmet Erkan ÇELİK
我已经关闭了Windows防火墙,没有其他防火墙可言。并且Posters用户可以正常连接到Postgres数据库,只是不能连接其他名称的数据库。 - Glyph
不假思索地,我会尝试将IP地址放入,而不是使用localhost。我还会检查是否需要在PhpStorm中添加或删除任何代理设置。 - djm
移除URL、移除数据库,填入密码,然后点击“测试连接”按钮。如果成功,请转到“选项”选项卡,您应该在其中看到可访问所连接用户的数据库列表。 - axiac
显示剩余4条评论
2个回答

1
在图像中给出了一个URL。它说明这个URL "覆盖了上面的设置"。在URL中没有用户名/密码。您可以尝试将用户名(和可能的密码)添加到URL中,或者清空URL字段。

1

检查一下

  1. 您是否可以从仪表板(如phpmyadmin)查看您的Postgres数据库?
  2. 您是否检查了表的权限? 通常,如果代码连接没有问题,则在phpstorm中应该可以工作。 但是您的URL似乎很奇怪,请尝试使用 localhost:5432/protomolecule 进行更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接