(หมายเหตุ: ไม่มากเรื่องนี้มีความเกี่ยวข้องกับผู้อ่านโดยใช้ PostgreSQL 9.2 หรือสูงกว่าจากการติดตั้งกีฬาซึ่งขณะนี้มีความง่ายมากเริ่มต้นติดตั้งใช้NETWORK SERVICE
แต่คุณยังสามารถกำหนดค่าบัญชีอื่น ๆ )
ฉันเคยnet user postgres postgres
รีเซ็ตรหัสผ่านสำหรับฐานข้อมูลของฉัน แต่แทนที่จะได้รับข้อความแจ้งความสำเร็จ"System error 5 has occurred. Access is denied."
คุณรีเซ็ต (หรือพยายามรีเซ็ต) รหัสผ่านบัญชีบริการ PostgreSQL จะไม่ทำงานเป็นผู้ดูแลระบบเพื่อความปลอดภัยและการติดตั้งโดยทั่วไปชุดมันขึ้นกับ "postgres" บัญชีผู้ใช้ใน PostgreSQL 9.1 และผู้สูงอายุ1 ใน Windows คุณไม่สามารถเริ่มบริการในฐานะผู้ใช้โดยไม่ต้องบันทึกรหัสผ่านของผู้ใช้ในรีจิสทรีดังนั้นนั่นคือสิ่งที่โปรแกรมติดตั้งทำ
หากคุณเปลี่ยนรหัสผ่านสำหรับบัญชีผู้ใช้ Windows postgres
บริการ PostgreSQL จะไม่สามารถเริ่มต้นได้อีกต่อไป ดังนั้นอย่าทำเช่นนั้นคุณจะต้องแก้ไขการกำหนดค่าบริการเพื่อจัดเก็บรหัสผ่านที่อัปเดต
โชคดีที่ฉันคิดว่ามีข้อผิดพลาดอีกอย่างที่ทำให้คุณไม่สามารถทำเช่นนั้นได้ ดูเหมือนว่าคุณกำลังเรียกใช้พรอมต์คำสั่งของคุณโดยไม่ใช้ "Run as Administrator" ในบัญชีผู้ใช้ Windows ที่ไม่มีสิทธิ์หรือเครื่องที่ใช้ UAC ดังนั้นจึงไม่ได้ทำงานด้วยสิทธิ์การเข้าถึงที่จำเป็นในการเปลี่ยนรหัสผ่านสำหรับpostgres
ผู้ใช้
ก่อนที่คุณจะพยายามเปลี่ยนรหัสผ่านตรวจสอบให้แน่ใจว่าเป็นสิ่งที่คุณต้องการทำจริงๆ ปัญหาที่คุณพยายามแก้ไขที่นี่คืออะไร คุณกำลังพยายามติดตั้งการอัพเดทฐานข้อมูลหรืออย่างอื่นที่ขอรหัสผ่านสำหรับpostgres
ผู้ใช้ Windows หรือไม่?
เป็นไปได้ว่าคุณเพียงแค่พยายามเข้าสู่ระบบฐานข้อมูล สำหรับสิ่งนั้นคุณใช้รหัสผ่าน (ที่ไม่เกี่ยวข้องอย่างสิ้นเชิง) ที่เก็บอยู่ในฐานข้อมูลด้วยตนเอง เนื่องจากคุณลืม / ลืมคุณจะต้องรีเซ็ต:
- ค้นหาของคุณ
pg_hba.conf
มักจะมาC:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
- หากจำเป็นให้ตั้งค่าการอนุญาตเพื่อให้คุณสามารถแก้ไขได้ บัญชีผู้ใช้ของคุณอาจไม่สามารถทำได้จนกว่าคุณจะใช้แท็บความปลอดภัยในกล่องโต้ตอบคุณสมบัติเพื่อให้สิทธิ์กับตัวคุณเองโดยใช้การแทนที่ผู้ดูแลระบบ อีกวิธีหนึ่งค้นหา notepad / notepad ++ ในเมนูเริ่มต้นของคุณคลิกขวาเลือก "Run as administrator" จากนั้นใช้ไฟล์ -> เปิดเพื่อเปิด
pg_hba.conf
วิธีดังกล่าว
แก้ไขเพื่อตั้งค่าบรรทัด "โฮสต์" สำหรับผู้ใช้ "postgres" บนโฮสต์ "127.0.0.1/32" เป็น "trust" คุณสามารถเพิ่มบรรทัดได้หากยังไม่มี เพียงแค่แทรก:
host all postgres 127.0.0.1/32 trust
host all postgres ::1/128 trust # if IPv6 is in use
ก่อนบรรทัดอื่น ๆ (คุณสามารถละเว้นความคิดเห็นบรรทัดที่ขึ้นต้นด้วย#
)
เริ่มบริการ PostgreSQL จากแผงควบคุมบริการ (start-> run-> services.msc
)
- เชื่อมต่อโดยใช้ psql หรือ PgAdmin-III หรืออะไรก็ได้ที่คุณต้องการ
ALTER USER postgres PASSWORD 'postgres'
- ลบบรรทัดที่คุณเพิ่ม
pg_hba.conf
หรือเปลี่ยนกลับ
- รีสตาร์ท PostgreSQL อีกครั้ง
ดู: ฉันจะรีเซ็ตรหัสผ่าน postgres สำหรับ PostgreSQL บน Windows ได้อย่างไร
1. 9.2 ตอนนี้ใช้NETWORKSERVICE
บัญชีซึ่งไม่ต้องใช้รหัสผ่านเพื่อให้ปัญหานี้จะหายไป