Sử dụng người dùng hệ điều hành postgres
để tạo cơ sở dữ liệu của bạn - miễn là bạn chưa thiết lập vai trò cơ sở dữ liệu với các đặc quyền cần thiết tương ứng với người dùng hệ điều hành cùng tên h9uest
của bạn ( trong trường hợp của bạn):
sudo -u postgres -i
Theo khuyến cáo ở đây hoặc ở đây .
Sau đó thử lại. Nhập exit
khi thực hiện với hoạt động như người dùng hệ thống postgres
.
Hoặc thực hiện lệnh đơn createuser
như postgres
với sudo
, như được thể hiện bằng drees trong câu trả lời khác.
Vấn đề là sử dụng người dùng hệ điều hành phù hợp với vai trò cơ sở dữ liệu cùng tên để được cấp quyền truy cập thông qua ident
xác thực . postgres
là người dùng hệ điều hành mặc định đã khởi tạo cụm cơ sở dữ liệu. Hướng dẫn sử dụng:
Để khởi động hệ thống cơ sở dữ liệu, một hệ thống mới được khởi tạo luôn chứa một vai trò được xác định trước. Vai trò này luôn luôn là một siêu người dùng, và theo mặc định (trừ khi bị thay đổi khi chạy initdb
), nó sẽ có cùng tên với người dùng hệ điều hành đã khởi tạo cụm cơ sở dữ liệu. Thông thường, vai trò này sẽ được đặt tên postgres
. Để tạo thêm vai trò, trước tiên bạn phải kết nối với vai trò ban đầu này.
Tôi đã nghe nói về các thiết lập kỳ lạ với tên người dùng không chuẩn hoặc nơi người dùng hệ điều hành không tồn tại. Bạn cần điều chỉnh chiến lược của mình ở đó.
Đọc về vai trò cơ sở dữ liệu và xác thực ứng dụng khách trong hướng dẫn.
FATAL: role "user" is not permitted to log in
, kiểm tra dba.stackexchange.com/questions/57723/ cho điều đó.