PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Lỗi PostgreSQL:Fatal:tên người dùng vai trò không tồn tại

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 cơ sở dữ liệu vai trò 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 của bạn (h9uest trong trường hợp của bạn):

sudo -u postgres -i

Theo đề xuất tại đây hoặc tại đây.

Sau đó, hãy thử lại. Nhập exit khi được thực hiện với điều hành với tư cách người dùng hệ thống postgres .

Hoặc thực hiện một lệnh duy nhất createuser dưới dạng postgres với sudo , giống như được minh họa bởi drees trong một 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 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 khởi tạo luôn chứa một vai trò được xác định trước. Vai trò này luôn là “superuser” và theo mặc định (trừ khi được thay đổi khi chạy initdb ) it 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. Theo thông lệ, vai trò này sẽ được đặt tên là postgres .Để tạo nhiều vai trò hơn, trước tiên bạn phải kết nối với vai trò chính 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 trong đó người dùng hệ điều hành không tồn tại. Bạn cần phải đ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 sách hướng dẫn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để định cấu hình HikariCP cho postgresql?

  2. Hàm tương tự trong Postgres với pg_trgm

  3. PostgreSQL:Sáu mảnh không dễ dàng

  4. Câu lệnh sql với đệ quy được diễn giải như thế nào?

  5. Cần tìm gì nếu Bản sao PostgreSQL của bạn đang bị trễ