无法使用pg_connect将php连接到postgres数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用pg_connect将php连接到postgres数据库相关的知识,希望对你有一定的参考价值。

我只是尝试将我的php代码连接到postgres数据库但不幸的是它不起作用,这是我的代码:

<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
   $host        = "host=127.0.0.1";
   $port        = "port=5432";
   $dbname      = "dbname=public";
   $credentials = "user=postgres password=postgres";

   $db = pg_connect( "$host $port $dbname $credentials"  ) or die('Could not connect');;
   if(!$db){
      echo "Error : Unable to open database
";
   } else {
      echo "Opened database successfully
";
   }

浏览器结果:

警告:pg_connect():无法连接到PostgreSQL服务器:致命:第11行/var/www/test/pgtest.php中不存在数据库“public”

谁知道这里有什么问题?

答案

您确定数据库的名称是“公共”吗?就像我记得的那样,'public'是PostgreSQL数据库中默认模式的名称。

请确保数据库'public'确实存在。

另一答案

从命令行,成为postgres用户,启动psql,并发出 list命令列出您的数据库。确保您尝试打开的数据库位于列表中。

确保您的pg_hba.conf文件允许打开数据库。

从pg_connect调用中删除除$ dbname之外的所有内容,并允许API使用默认值。按错误消息指示添加参数。

另一答案

抱歉,但最后我发现我的问题是错的,publictestdbpostgres数据库中的方案,

以上是关于无法使用pg_connect将php连接到postgres数据库的主要内容,如果未能解决你的问题,请参考以下文章

PHP 无法在 CentOS 7 上连接到 PostgreSQL

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

PHPMailer无法连接到SMTP主机

无法使用PHP将数据库连接到heroku

无法将 Visual Studio 代码连接到 PHP

由于cors,离子应用程序无法连接到php应用程序