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 127.0.0.1
(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).