What is the Default Password for PostgreSQL?

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:

cat /etc/passwd

… you’ll see the postgres user.

postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

The first question many ask is, “What is the default password for the user postgres?” The answer is easy… there isn’t a default password. The default authentication mode for PostgreSQL is set to ident.

cat /var/lib/pgsql/9.3/data/pg_hba.conf

… 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, I am logged into the server as root. When I try to connect to PostgreSQL:

psql

… I get the following error:

psql: FATAL: role "root" does not exist

However, if I become the default PostgreSQL user, postgres:

su - postgres

… then attempt a connection to PostgreSQL:

psql

… I get the correct, valid response!

psql (9.3.9)
Type "help" for help.

postgres=#

Be Sociable, Share!
Here's $75, Launch a New VPS Today. Find out why 30,000 customers have chosen our Best-in-Class Performance & 24x7 Heroic Support.