this is the password I set for postgres - Password@123
also, executing this command, I am seeing this result, is this correct, because one of the user has attached the results with roles. In my case it was coming empty.
I dont think you need to do a sudo to modify pg_hba.conf with the postgres user, postgres is not a OS admin, just the DB admin, bu default it should have permissions for this file
su - postgres
vi var/lib/pgsql/data/pg_hba.conf
that’s why i am saying postgres is not a sudo user and don’t have permission to change the files.
Do one thing if you are updating database then change user into postgres. If you have to change configuration file of the system then switch into DB server sudo user.
That’s the good steps i guess. postgres -----> CRUD database(CREATE, REPLACE, UPDATE, DELETE) sudo user -----> configuration files of system(database)
task 4 :-- In the configuration file of psql. Configure it according to task that allow all local clients or can say that local user to connect to the kodekloud_db4 database with database user kodekloud_cap user with md5 password as already there password column.
pg_hba.conf file has section of “local” where is encryption set to peer but we need to change into md5.
Don’t change other section peer to md5 otherwise task will be failed. Only to local.
task 5 :-- Try with sudo user or root user to login with that credentials(database user and database password).
I don’t know exactly but something like $root ># psql -u kodekloud_cap -d kodekloud_db4 -p
u stands for user.
p stands for password
d stands for database
not sure but search it on internet to confirm.
Your /var/lib/pgsql/12/data/pg_hba.conf not looks like actual file of psql. Have you changed something?
@mmumshad@Inderpreet@kodekloud-support3
Would you please check my “Install and Configure PostgresSQL” task. I thought I did it correctly and clicked “Finish” I however got status failed. And I don’t know why. I attached you some screenshots.
This is the reason shown on the failed status “PostgreSQL is not configured correctly, either user ‘kodekloud_pop’ and database ‘kodekloud_db1’ does not exist or user ‘kodekloud_pop’ does not has appropriate permissions on database ‘kodekloud_db1’ on DB Server”
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.
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.
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.