โซลูชันด่วน
ปัญหาคือกำลังพยายามทำการpeer
รับรองความถูกต้องภายในเครื่องตามชื่อผู้ใช้ปัจจุบันของคุณ -h
หากคุณต้องการที่จะใช้รหัสผ่านที่คุณจะต้องระบุชื่อโฮสต์ที่มี
pg_dump dbname -U username -h localhost -F c
คำอธิบาย
เนื่องจากสิ่งต่อไปนี้ในไฟล์ pg_hba.conf
local all all peer
host all all 127.0.0.1/32 md5
สิ่งนี้บอกให้ Postgres ใช้การpeer
ตรวจสอบสิทธิ์สำหรับผู้ใช้ในพื้นที่ซึ่งต้องใช้ชื่อผู้ใช้ postgres เพื่อให้ตรงกับชื่อผู้ใช้ระบบปัจจุบันของคุณ บรรทัดที่สองหมายถึงการเชื่อมต่อโดยใช้ชื่อโฮสต์และจะช่วยให้คุณสามารถพิสูจน์ตัวตนด้วยรหัสผ่านผ่านmd5
วิธีการ
การกำหนดค่าการพัฒนาที่ต้องการของฉัน
หมายเหตุ : ควรใช้กับเวิร์กสเตชันผู้ใช้คนเดียวเท่านั้น ซึ่งอาจนำไปสู่ช่องโหว่ด้านความปลอดภัยที่สำคัญในเครื่องที่ใช้งานจริงหรือเครื่องที่มีผู้ใช้หลายคน
เมื่อมีการพัฒนากับอินสแตนซ์ postgres trust
ท้องถิ่นผมชอบที่จะเปลี่ยนวิธีการตรวจสอบในท้องถิ่นของฉันไป สิ่งนี้จะอนุญาตให้เชื่อมต่อกับ postgres ผ่านซ็อกเก็ต unix ในเครื่องในฐานะผู้ใช้ที่ไม่มีรหัสผ่าน สามารถทำได้โดยเพียงแค่เปลี่ยนpeer
ด้านบนtrust
และโหลด postgres ใหม่
# Don't require a password for local connections
local all all trust