linux poison RSS
linux poison Email

PostgreSQL setup and configuration for md5 authentication

By default, connection via TCP/IP is disabled. And for authentication IDENT method is used. Please refer to the PostgreSQL Administrator's Guide..

To enable TCP/IP connections, edit the file /etc/postgresql//main/postgresql.conf

Locate the line #tcpip_socket = false and change it to tcpip_socket = true.

By default, the user credentials are not set for MD5 client authentication. So, first it is necessary to configure the PostgreSQL server to use trust client authentication, connect to the database, configure the password, and revert the configuration back to use MD5 client authentication. To enable trust client authentication, edit the file /etc/postgresql//main/pg_hba.conf

Comment out all the existing lines which use ident and MD5  client authentication and add the following line:

    local all postgres trust username

Then, run the following command to start the PostgreSQL server:

    sudo /etc/init.d/postgresql start

Once the PostgreSQL server is successfully started, run the following command at a terminal prompt to connect to the default PostgreSQL template database

    psql -U postgres -d template1

The above command connects to PostgreSQL database template1 as user postgres. Once you connect to the PostgreSQL server, you will be at a SQL prompt. You can run the following SQL command at the psql prompt to configure the password for the user postgres.

    template1=# ALTER USER postgres with encrypted password 'your_password';

After configuring the password, edit the file /etc/postgresql//main/pg_hba.conf to use MD5 authentication:

Comment the recently added trust line and add the following line:

    local all postgres md5 username


Post a Comment

Related Posts with Thumbnails