2013-04-18 13:46
浏览 38


$dbconn = pg_connect("host=localhost   dbname=mydbname   user=myuser    password=mypass") or die(pg_last_error());

returns Unable to connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "::1 ...",

What I must do?

P.S. In file php.ini modul extension php_pgsql.dll is enabled

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dorbmd1177
    dorbmd1177 2013-04-19 00:59

    This or this would've helped you determine the nature of the problem.

    It looks like you're trying to connect over IPv6 (hence ::1) and the host's pg_hba.conf doesn't have a rule allowing you to connect from the IPv6 loopback address (::1) as user myuser to database mypass.

    I suspect the server is misconfigured; to work around it try specifying the host as (the IPv4 loopback address) instead of localhost, or just omit the host= completely to use unix domain sockets if PHP supports that.

    Your statement "When use mysql (on remote server), as host value we can use host=localhost right?" is completely nonsensical for both MySQL and PostgreSQL. If it's a remote server then it is by definition not on localhost. At a wild guess I think you might be trying to say that the server is remote in the sense that it's not the computer you are working on, but it's local to the program you are running because you are running the program on the remote server (by editing it on the remote server, uploading the program text over FTP, or whatever).

    点赞 评论