ใช้ผู้ใช้ระบบปฏิบัติการ postgres
เพื่อสร้างฐานข้อมูลของคุณ - ตราบใดที่คุณยังไม่ได้ตั้งค่าบทบาทฐานข้อมูลด้วยสิทธิ์ที่จำเป็นที่สอดคล้องกับผู้ใช้ระบบปฏิบัติการของคุณด้วยชื่อเดียวกัน ( h9uest
ในกรณีของคุณ):
sudo -u postgres -i
ตามคำแนะนำของที่นี่หรือที่นี่
จากนั้นลองอีกครั้ง พิมพ์เมื่อทำกับการดำเนินงานเป็นผู้ใช้ระบบexit
postgres
หรือดำเนินการตามคำสั่งเดียวcreateuser
เป็นpostgres
ด้วยsudo
เช่นแสดงให้เห็นโดย Dreesในคำตอบอื่น
จุดคือการใช้ของผู้ใช้ระบบปฏิบัติการที่ตรงกับบทบาทของฐานข้อมูลที่มีชื่อเดียวกันที่จะได้รับการเข้าถึงผ่านการตรวจสอบident
postgres
เป็นผู้ใช้ระบบปฏิบัติการเริ่มต้นที่จะเริ่มต้นคลัสเตอร์ฐานข้อมูล คู่มือ:
ในการบูตระบบฐานข้อมูลระบบที่เริ่มต้นใหม่จะมีบทบาทที่กำหนดไว้ล่วงหน้าเสมอ บทบาทนี้เป็น“ superuser” เสมอและโดยค่าเริ่มต้น (เว้นแต่จะมีการเปลี่ยนแปลงเมื่อทำงานinitdb
) มันจะมีชื่อเหมือนกับผู้ใช้ระบบปฏิบัติการที่เริ่มต้นคลัสเตอร์ฐานข้อมูล postgres
ปรกติบทบาทนี้จะถูกตั้งชื่อ ในการสร้างบทบาทเพิ่มเติมคุณต้องเชื่อมต่อเป็นบทบาทเริ่มต้นก่อน
ฉันเคยได้ยินเรื่องการตั้งค่าแปลก ๆ ด้วยชื่อผู้ใช้ที่ไม่ได้มาตรฐานหรือในกรณีที่ไม่มีผู้ใช้ระบบปฏิบัติการอยู่ คุณต้องปรับกลยุทธ์ของคุณที่นั่น
อ่านเกี่ยวกับบทบาทฐานข้อมูลและการตรวจสอบสิทธิ์ลูกค้าในคู่มือ
FATAL: role "user" is not permitted to log in
พบตรวจสอบdba.stackexchange.com/questions/57723/…สำหรับสิ่งนั้น