Install Configure PostgreSQL Task

Have you initialize the PostgreSQL DB using,
sudo postgresql-setup initdb
If not then you need to first initialize the DB.
Secondly, you need to login Postgresql using
sudo -u postgres psql
After login you need to create the user and database and grant the permission.

Also, you need to just change only one configuration line from /var/lib/pgsql/data/pg_hba.conf
local all all peer to local all all md5

After that you need to restart the postgresql service.

@AkshayT thanks for replying. Yes, I did initialize the database. And did the necessary configuration on the pg_hba.conf file and restarted the service.

Dear @mmumshad @Inderpreet @kodekloud-support3
I am eagerly waiting for your reply. Would you please check my PostgreSQL Task?
kind regards.

You did typo at all. Database name is kodekloud_db1 not kodeKloud_db1 :frowning:

Thanks @Tej-Singh-Rana for replying. Is that the case and does it really mater? Is name of a database case sensitive? I don’t know that can be, but it will be very pity if I miss it because of it.

i am getting below error while connecting to postgresql.

psql -d kodekloud_db1 -U kodekloud_top -W
Password for user kodekloud_top:
psql: FATAL: Peer authentication failed for user “kodekloud_top”

You have to make a changes in pg_hba.conf file of postgresql. In local connection column, change peer to md5. Don’t change in replication connection.

I have done changes in pg_hba.conf file and changed peer to md5 in local connection.

after that getting below error.

Please post your pg_hba.conf file here.
Or have u run this command while creating the user.
create user kodekloud_gem with encrypted password ‘ksH85Ujhub’

Please check or else you reset the password again and run above command.

I have used below commands for creation of user and database.

sudo -u postgres psql

CREATE USER kodekloud_roy WITH ENCRYPTED PASSWORD ‘GyQkFRVNr3’;

CREATE DATABASE kodekloud_db4;

GRANT ALL PRIVILEGES ON DATABASE kodekloud_db3 TO kodekloud_roy;

Output of pg_hba.conf

cat /var/lib/pgsql/12/data/pg_hba.conf |grep md5

METHOD can be “trust”, “reject”, “md5”, “password”, “scram-sha-256”,

Note that “password” sends passwords in clear text; “md5” or

local all all md5

but getting error attached in screenshot.

Any idea what wrong i am doing in this task ?

In Addition to previous… that is very good.

finish with “pg_ctl reload;” to apply changes

@Inderpreet @Tej-Singh-Rana @devops503 @fazalmahmood @juancgarciaco @swaroopcs88
Getting below error, please guys help me out to complete the task!

Steps Followed:

yum install postgresql-server postgresql-contrib
postgresql-setup initdb
systemctl enable postgresql && systemctl start postgresql
systemctl status postgresql

echo -n ‘BruCStnMT5’ | md5sum
184b4fb9d4689f4acc81eaafe9d9cf2ad

su - postgres
sudo -u postgres psql postgres
psql
psql=# CREATE USER kodekloud_tim WITH ENCRYPTED PASSWORD ‘184b4fb9d4689f4acc81eaafe9d9cf2ad’;
psql=# CREATE DATABASE kodekloud_db8 OWNER kodekloud_tim;

psql=# GRANT ALL PRIVILEGES ON DATABASE kodekloud_db8 TO kodekloud_tim;

vi /var/lib/pgsql/data/pg_hba.conf

local all all md5
host kodekloud_db8 kodekloud_tim 127.0.0.1/32 md5
host kodekloud_db8 kodekloud_tim ::1/128 md5

vi /var/lib/pgsql/data/postgresql.conf
listen_addresses= ‘*’

systemctl restart postgresql.service
systemctl status postgresql.service

#Authentication
psql -U kodekloud_tim -d kodekloud_db8 -h 127.0.0.1 -W

Please check and let me know what else change can be done to complete the task!

removed md5 encryption and worked!

CREATE USER kodekloud_aim WITH ENCRYPTED PASSWORD ‘TmPcZjtRQx’;

this worked for me :smiley:

Thanks @nenadmiladin for your post on the task, helped me to complete the task!

1 Like