in reply to Re^4: Trouble Connecting to PostgreSQL with DBD::Pg
in thread Trouble Connecting to PostgreSQL with DBD::Pg

OK, now (mentally) get rid of all those comment blocks above the last 10 lines. Read the PostgreSQL documentation related to this file (linked elsewhere in this thread). Understand it.

Look at what remains in the file:

CommentTypeDatabaseUserRemote Address / NetmaskAuthentication Method
"local", Unix domain socketlocalall databasesall users(does not apply)ident
IPv4 localhosthostall databasesall users127.0.0.1/32ident
IPv6 localhosthostall databasesall users::1/128ident

There are exactly three ways to connect to your PostgreSQL server: The local Unix domain socket, a TCP/IPv4 connection via 127.0.0.1, and a TCP/IPv6 connection via ::1. All of those connections are "protected" by the ident authentication. Does your server run an ident daemon and is it configured not to return nonsense to ident requests coming in via TCP/IP?

For debugging, change the authentication method for the three entries to "trust". This disables all authentication checks except for the remote address. Restart the PostgreSQL server.

In a next step, create a user / update an existing user with a password, and switch to "md5" authentication. After the required PostgreSQL restart, you will need to connect with a valid username / password combination.

As long as the users working on the server are trustworthy, and PostgreSQL is configured to listen only to localhost connections, that should be sufficient. Choose other authentication methods if the server is exposed to the internet or you don't trust your users.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
  • Comment on Re^5: Trouble Connecting to PostgreSQL with DBD::Pg