When connecting to PostgreSQL on Linux for the first time many admins have questions, especially if those admins are from the MySQL world. By default, when PostgreSQL is installed, a postgres user is also added.
If you run the command:
… you’ll see the postgres user.
… you’ll see the authentication mode is ident.
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
What is the ident authentication method? Well, it works by taking the OS username you’re operating as and comparing it with the allowed database username(s). There is optional username mapping.
This means that in order to connect to PostgreSQL you must be logged in as the correct OS user. In this case, we are logged into the server as root. When we try to connect to PostgreSQL:
… we get the following error:
psql: FATAL: role "root" does not exist
However, if we become the default PostgreSQL user, postgres:
su - postgres
… then attempt a connection to PostgreSQL:
… I get the correct, valid response!
Type "help" for help.
Is your Cloud VPS slowing down your PostgreSQL instance? Liquid Web’s Dedicated Servers is the solution. Liquid Web’s server outmatches the competition on performance and support. Check out how our VPS server or Dedicated Servers can skyrocket your site’s performance.