การกำหนดรหัสผ่านสำหรับ Postgres ด้วยไฟล์

คงไม่ค่อยได้มีคนไทยใช้ Postgres มากนัก เพราะส่วนใหญ่คงใช้ MySQL กัน แต่ก็นานาจิตตัง เอาเป็นว่าใครใช้แล้วมีปัญหาต้องการใช้ password แบบไม่ต้องพิมพ์ เช่นต้องการใช้ pg_dump หรือคำสั่งอย่างอื่นผ่านทางโปรแกรม ทำเป็นระบบอัตโนมัติ แต่ไอ้คำส่งพวก psql หรือ pg_dump ดันจะต้องเด้งขึ้นมาให้ใส่ password ก็มีวิธีแก้กัน ก็คือกำหนด password ไว้ในไฟล์

โดย Windows กำหนดไว้ในไฟล์ %APPDATA%\postgresql\pgpass.conf โดยรูปแบบก็จะเป็น

hostname:port:database:username:password

ตัวอย่าง

localhost:5432:anydb:backupuser:password

ดูเหมือนไม่ค่อยมีอะไรเน้อะ แต่ไอ้ความไม่มีอะไรนี่แหละทำพิษ เพราะว่าในตอนท้ายบรรทัด คุณจะต้องใส่ enter ให้มันขึ้นบรรทัดใหม่ไปด้วย มิฉะนั้น มันจะไม่รับรู้ คือเหมือนหา password ไม่เจอซะดื้อๆ หาอยู่ครึ่งวัน จมน้ำครึ่งแข้ง เซ็ง

Reference
The Password File