This content originally appeared on DEV Community and was authored by iconnext
ในตอนติดตั้ระบบฐานข้อมูล PostqreSQL ขึ้นมาจะมีการสร้างผู้ใช้งานชื่อ postgres ข้ึนมาโดยอัติโนมัติเพื่อบริหารจัดการฐานข้อมูลเบื้องต้น
ในบางสถานการณ์ที่เราลือรหัสผ่านของผู้ใช้งาน postgres ทำให้เราไม่สามารถเข้าไปบริหารจัดการบางอย่างได้ บทความนี้จะแสดงขบวนการ reset password ของผู้ใช้งาน postgres ในกรณีฉุกเฉิน
โดยในการ reset password จะดำเนินการผ่านไฟล์ pg_hba.conf ซึ่งจะิอยู่ที่ตำแหน่ง /var/lib/postgresql/data บน linux หรือ C:\Program Files\PostgreSQL\16\data บน Windows โดยไฟล์ดังกล่าวมีหน้าที่ในการควบคุมการ authentication จาก client ที่เชื่อมต่อเข้ามาโดย hba ย่อมาจาก host base authentication
1.ทำการสำรองไฟล์ pg_hba.conf โดยการเปลี่ยนตำแหน่ง หรือเปลี่ยนชื่อไฟล์ผ่านคำสั่ง
# cp pg_hba.conf pg_hba.conf.bak
2.เปิดโปรแกรม text editor ในการแก้ไขไฟล์ pg_hba.conf จากนั้นไปบริเวณท้ายไฟล์ในบรรทัดที่เป็น host all all all scram-sha-256 ให้เปลี่ยนคำว่า scram-sha-256 เป็น trust จากนั้นทำการบันทึกไฟล์
3.ทำการ restart service PostgreSQL ผ่านคำสั่ง
# pg_ctl restart
4.ทำการเข้า PostgreSQL อีกครั้งผ่านคำสั่ง
# psql -U postgres
5.จะเข้ามายัง shell ของ PostgreSQL โดยไม่ต้องป้อนรหัสผ่านจากนั้นให้ทำการเปลี่ยนรหัสผ่านผ่านคำสั่ง
postgres=# ALTER USER postgres WITH PASSWORD 'new_password';
เมื่อ new_password เป็นรหัสผ่านใหม่
6.นำค่า pg_hba.conf ที่สำรองไว้แทน pg_hba.conf ที่แก้ค่าไปจากนั้นทำการrestart PostgreSQL service แล้วทดสอบเข้า psql โดยใช้ รหัสผ่านที่ตั้งใหม่
This content originally appeared on DEV Community and was authored by iconnext
iconnext | Sciencx (2024-06-22T09:17:12+00:00) การ reset password ของผู้ใช้งาน postgres ในกรณีที่ลืม pasword. Retrieved from https://www.scien.cx/2024/06/22/%e0%b8%81%e0%b8%b2%e0%b8%a3-reset-password-%e0%b8%82%e0%b8%ad%e0%b8%87%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99-postgres-%e0%b9%83%e0%b8%99%e0%b8%81%e0%b8%a3/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.