Reset Password Postgres
pgadmin bug jika reset password pada pgadmin. user tidak akan bisa mengakses dengan password baru.
penyebab :
date picker pada pgadmin di bagian menu user roles akan selalu mengembalikan nilai default, yaitu 1/1/1970.
sehingga ketika user yang telah di ganti password statusnya akan invalid. walaupun password telah berubah user tidak akan bisa login.
dan error message yang di tampilkan berupa “wrong password”
recovery :
langkah 1: mengembalikan hak akses kepada user localhost
buka file “pg_hba.conf”
akan terdapat konfigurasi seperti ini (original configuration) :
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
rubah kolom METHOD menjadi trust, arti nya user akses akan selalu di berikan.
konfigurasi akan menjadi seperti ini (change configuration) :
host all all 127.0.0.1/32 trust host all all ::1/128 trust
reload atau restart postgres :
E:\Program Files\PostgreSQL\9.2\bin>pg_ctl.exe reload -D "E:\Program Files\Postg reSQL\9.2\data"
langkah 2 :
login pada pgadmin dengan password lama atau baru (akan selalu di beri akses ).
akses psql.exe (ex : E:\Program Files\PostgreSQL\9.2\bin>psql.exe -D postgres)
akan di minta password, masukan password baru atau lama.
pada console psql, jalan kan script dibawah ini :
postgres=# SELECT usename,valuntil FROM pg_user; usename | valuntil ------------+------------------------ postgres | invalid cms_tester | 1970-01-01 00:00:00+07 KMS | 1970-01-01 00:00:00+07 (3 rows)
atau
postgres=# SELECT p.* FROM pg_user p; usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig ------------+----------+-------------+----------+-----------+---------+--------- -+------------------------+----------- postgres | 10 | t | t | t | t | ******** | invalid | cms_tester | 51204 | f | f | f | f | ******** | 1970-01-01 00:00:00+07 | KMS | 97272 | f | f | f | f | ******** | 1970-01-01 00:00:00+07 | (3 rows)
ubah status validasi user (postgres) menjadi infinity
postgres=# ALTER USER postgres VALID UNTIL 'infinity'; ALTER ROLE
jalan kan script select jika ingin melihat perubahan nya.
langkah 3 :
kembalikan konfigurasi ke semula
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
reload atau restart postgres :
E:\Program Files\PostgreSQL\9.2\bin>pg_ctl.exe reload -D "E:\Program Files\Postg reSQL\9.2\data"
kemudian Coba login dengan user yang benar (user baru) pada pgadmin
refences
http://astonj.com/tech/how-to-recover-or-reset-a-lost-postgresql-password/
http://stackoverflow.com/questions/14564644/postgres-password-authentication-fails
http://dba.stackexchange.com/questions/36137/postgresql-user-can-not-connect-to-server-after-changing-password
Leave a comment