Tại sao tôi gặp lỗi về quyền của PostgreSQL khi chỉ định một vùng bảng trong lệnh tạo cơ sở dữ liệu của cơ sở dữ liệu?


11

Khi tôi tạo cơ sở dữ liệu trong PostgreSQL mà không chỉ định rõ ràng một vùng bảng mặc định, cơ sở dữ liệu được tạo mà không gặp sự cố (Tôi đã đăng nhập với tư cách là người dùng pssys ):

postgres => tạo cơ sở dữ liệu rich1;
TẠO NÊN CƠ SỞ DỮ LIỆU
postgres => \ l +
                                                                            Danh sách cơ sở dữ liệu
   Tên | Chủ sở hữu | Mã hóa | Đối chiếu | Công ty | Đặc quyền truy cập | Kích thước | Không gian bảng | Sự miêu tả
----------- + ---------- + ---------- + ------------- + - ----------- + ------------------------------------- + ----------- + ------------ + ------------------------- -------------------
 bưu điện | pssys | UTF8 | vi_US.UTF-8 | vi_US.UTF-8 | | 7455 kB | pg_default | cơ sở dữ liệu kết nối quản trị mặc định
 rdsadmin | rdsadmin | UTF8 | vi_US.UTF-8 | vi_US.UTF-8 | rdsadmin = CTc / rdsadmin | Không có quyền truy cập | pg_default |
 giàu1 | pssys | UTF8 | vi_US.UTF-8 | vi_US.UTF-8 | | 7233 kB | pg_default |
 mẫu0 | rdsadmin | UTF8 | vi_US.UTF-8 | vi_US.UTF-8 | = c / rdsadmin | 7345 kB | pg_default | cơ sở dữ liệu trống không thể thay đổi
                                                             : rdsadmin = CTc / rdsadmin
 mẫu1 | pssys | UTF8 | vi_US.UTF-8 | vi_US.UTF-8 | = c / pssys | 7345 kB | pg_default | mẫu mặc định cho cơ sở dữ liệu mới
                                                             : pssys = CTc / pssys
(5 hàng)

Như bạn có thể thấy, cơ sở dữ liệu được đưa vào không gian bảng pg_default, nhưng nếu tôi chỉ định không gian bảng mặc định trong mệnh đề không gian bảng (cũng vẫn đăng nhập dưới dạng pssys ), tôi gặp lỗi về quyền:

postgres => tạo cơ sở dữ liệu rich2 bảng không gian pg_default;
LRI: quyền bị từ chối cho không gian bảng pg_default

Đây là quyền cho người dùng đó:

postgres => \ du pssys
               Danh sách vai trò
 Tên vai trò | Các thuộc tính | Thành viên của
----------- + ------------- + -----------------
 pssys | Tạo vai trò | {rds_superuser}
           : Tạo DB

Đây là lỗi PostgreSQL, nhưng tôi nên đề cập rằng đây là một ví dụ AWS Aurora trong trường hợp tạo ra sự khác biệt.

Câu trả lời:


8

Đây là mẹo, ít nhất là với pgAdmin v4: Để trống không gian bảng. Nó sẽ mặc định là "pg_default" khi tạo cơ sở dữ liệu.


1
đã làm việc, thanx
Alex Buzunov

1
cứu mạng tôi - thx! @HuggieRich nên chấp nhận nó!
Ron
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.