ในบทช่วยสอนนี้ เราจะสำรวจวิธีรีเซ็ตรหัสผ่านสำหรับผู้ใช้ที่มีเซิร์ฟเวอร์ PostgreSQL เป็นการดีที่ต้องจำไว้ว่าผู้ใช้ฐานข้อมูลในกรณีนี้หมายถึงผู้ใช้ที่มีสิทธิ์เข้าถึงกลไกจัดการฐานข้อมูล ดังนั้น นี่จึงไม่รวมข้อมูลผู้ใช้สำหรับแอปพลิเคชันที่กำหนด
วิธีที่ 1: การใช้ยูทิลิตี้ PSQL
วิธีทั่วไปในการรีเซ็ตรหัสผ่านผู้ใช้ใน PostgreSQL คือการเข้าสู่ระบบในฐานะผู้ใช้ขั้นสูง (Postgres) โดยใช้ยูทิลิตี้ PSQL
เปิดใช้เทอร์มินัลเซสชันใหม่และเรียกใช้คำสั่งต่อไปนี้เพื่อเข้าถึงฐานข้อมูล PostgreSQL ในฐานะผู้ใช้ขั้นสูง:
$ psql -ใน โพสต์เกรส
คำสั่งที่กำหนดจะแจ้งให้คุณป้อนรหัสผ่าน superuser ตามที่กำหนดไว้ระหว่างการตั้งค่าเซิร์ฟเวอร์
เมื่อลงชื่อเข้าใช้อินเทอร์เฟซบรรทัดคำสั่ง PostgreSQL แล้ว คุณสามารถใช้คำสั่ง ALTER USER เพื่อรีเซ็ตรหัสผ่านของชื่อผู้ใช้ที่ต้องการได้
ไวยากรณ์คำสั่งมีดังนี้:
เปลี่ยนชื่อผู้ใช้ด้วยรหัสผ่าน 'รหัสผ่านใหม่' ;ตัวอย่างเช่น สมมติว่าเราต้องการรีเซ็ตรหัสผ่านสำหรับชื่อผู้ใช้ที่ชื่อว่า “linuxhint” เราสามารถเรียกใช้แบบสอบถามได้ดังนี้:
เปลี่ยนผู้ใช้ linuxhint ด้วยรหัสผ่าน 'รหัสผ่าน' ;
คุณควรใส่รหัสผ่านไว้ในเครื่องหมายอัญประกาศเดี่ยว โดยหลักแล้วหากรหัสผ่านประกอบด้วยอักขระพิเศษ
เมื่อดำเนินการคำสั่งสำเร็จแล้ว คุณสามารถออกจากระบบอินเทอร์เฟซ PSQL โดยใช้คำสั่งต่อไปนี้:
\qวิธีที่ 2: การใช้อินเทอร์เฟซแบบกราฟิก PgAdmin
คุณยังสามารถรีเซ็ตรหัสผ่านของผู้ใช้ฐานข้อมูลที่กำหนดได้โดยใช้อินเทอร์เฟซแบบกราฟิก pgAdmin
คุณสามารถทำตามขั้นตอนที่แสดงไว้ที่นี่เพื่อเรียนรู้วิธีรีเซ็ตรหัสผ่านผู้ใช้โดยใช้ pgAdmin:
ก. เปิดใช้ยูทิลิตี้ pgAdmin และเข้าสู่ระบบด้วยข้อมูลประจำตัวที่ถูกต้อง
ข. เชื่อมต่อกับเซิร์ฟเวอร์ PostgreSQL เป้าหมายโดยใช้ข้อมูลประจำตัวของผู้ใช้ขั้นสูง
ค. ในบานหน้าต่าง Object Explorer ทางด้านซ้าย ให้ขยายกลุ่ม 'เซิร์ฟเวอร์' และนำทางไปยังฐานข้อมูลเป้าหมาย
ง. ขยายโหนด “เข้าสู่ระบบ/บทบาทกลุ่ม” เพื่อค้นหาผู้ใช้ที่คุณต้องการรีเซ็ตรหัสผ่าน ในกรณีนี้ เราต้องการรีเซ็ตรหัสผ่านสำหรับผู้ใช้ 'linuxhint'
อี คลิกขวาที่ผู้ใช้ที่เลือกแล้วเลือก 'คุณสมบัติ' จากเมนูบริบท
ฉ. ในหน้าต่าง 'คุณสมบัติ' ไปที่แท็บ 'คำจำกัดความ'
ช. ระบุรหัสผ่านใหม่ในช่อง 'รหัสผ่าน' สำหรับผู้ใช้ที่กำหนด
ชม. สุดท้าย คลิก 'บันทึก' เพื่อบันทึกการเปลี่ยนแปลง
สิ่งนี้ควรตั้งรหัสผ่านที่ให้ใหม่สำหรับผู้ใช้เป้าหมาย
วิธีที่ 3: การแก้ไขไฟล์กำหนดค่ารหัสผ่าน PostgreSQL
หากคุณลืมรหัสผ่านสำหรับบัญชี superuser คุณสามารถรีเซ็ตรหัสผ่านได้โดยแก้ไขไฟล์กำหนดค่ารหัสผ่าน PostgreSQL
เริ่มต้นด้วยการค้นหาไดเร็กทอรีข้อมูลสำหรับการติดตั้ง PostgreSQL ของคุณ เส้นทางสำหรับไดเร็กทอรีนี้จะแตกต่างกันไปขึ้นอยู่กับระบบปฏิบัติการและเวอร์ชัน PostgreSQL ที่ติดตั้ง
ในไดเร็กทอรีข้อมูล ค้นหาไฟล์ pg_hba.conf และแก้ไขด้วยโปรแกรมแก้ไขข้อความที่คุณเลือก
แก้ไขการเชื่อมต่อภายในเครื่องทั้งหมดจาก md5 เป็นความเชื่อถือ สิ่งนี้บอกให้ PostgreSQL เชื่อถือการเชื่อมต่อขาเข้าทั้งหมดจากเครื่องโลคัลโดยไม่ต้องใช้รหัสผ่าน
# ประเภท ฐานข้อมูล ผู้ใช้ ที่อยู่# 'local' ใช้สำหรับการเชื่อมต่อซ็อกเก็ตโดเมน Unix เท่านั้น
ในท้องถิ่น ทั้งหมด
# การเชื่อมต่อภายใน IPv4:
โฮสต์ ทั้งหมด
# การเชื่อมต่อภายใน IPv6:
โฮสต์ ทั้งหมด ทั้งหมด
# อนุญาตการเชื่อมต่อการจำลองแบบจาก localhost โดยผู้ใช้ที่มี
#สิทธิพิเศษในการจำลอง
การจำลองแบบในเครื่อง
โฮสต์ การจำลอง
โฮสต์ ความไว้วางใจ
เมื่อเสร็จแล้ว คุณต้องรีสตาร์ทเซิร์ฟเวอร์ PostgreSQL เพื่อให้การเปลี่ยนแปลงมีผล จากนั้นคุณสามารถเข้าสู่เซิร์ฟเวอร์ PostgreSQL โดยใช้ผู้ใช้ Postgres โดยไม่ต้องใช้รหัสผ่าน
บทสรุป
เราได้สำรวจวิธีการและเทคนิคต่างๆ ที่เราสามารถใช้รีเซ็ตรหัสผ่านผู้ใช้ใน PostgreSQL