CẢNH BÁO :trust có nghĩa là chính xác như vậy. Bất kỳ ai có thể kết nối với máy chủ PostgreSQL đều có thể kiểm soát nó. Nếu bạn đặt trust chế độ cho phép người dùng cấp cao như người dùng postgres (hoặc all người dùng) để kết nối, họ có toàn quyền kiểm soát PostgreSQL của bạn và có thể cũng có thể chạy các lệnh shell. Bạn thường chỉ nên sử dụng nó để thay đổi mật khẩu sau đó khôi phục cấu hình trở lại chế độ xác thực bạn đã sử dụng trước đây.
Nếu bạn đã sử dụng tập lệnh trình cài đặt không được giám sát, mật khẩu sẽ nằm trong tập lệnh hoặc tệp cấu hình được liên kết.
Nếu không, hãy xử lý nó giống như khi bạn mất / quên mật khẩu chứ không phải là không bao giờ biết nó:
- Chỉnh sửa
pg_hba.conf, đặt chế độ xác thực thànhtrustthay vìmd5mặc định - Trong bảng điều khiển Dịch vụ, hãy khởi động lại dịch vụ PostgreSQL
- Kết nối với
psqlhoặc PgAdmin hoặc bất cứ điều gì -
ALTER USER postgres PASSWORD 'mynewpassword'; - Chỉnh sửa
pg_hba.confmột lần nữa và đặt lại chế độ xác thực thànhmd5 - Khởi động lại PostgreSQL một lần nữa
pg_hba.conf nằm trong thư mục dữ liệu của bạn. Theo mặc định, nó sẽ là %PROGRAMFILES%\PostgreSQL\9.3\data .
Để chỉnh sửa nó, bạn sẽ phải sử dụng tab bảo mật để cấp cho mình quyền đọc / ghi (thông qua lời nhắc UAC). Điều này có thể yêu cầu bạn đặt mình là chủ sở hữu của tệp.
Trên các hệ thống unix, việc thêm trước một
sẽ an toàn hơnlocal all all peer
dòng tới pg_hba.conf rồi đến sudo -u postgres psql (giả sử máy chủ PostgreSQL của bạn chạy với tư cách người dùng postgres ) để nhận psql tương tác phiên mà không sử dụng mật khẩu. Bằng cách đó, bạn không phải sử dụng trust .