Tôi có một người dùng: user_x sở hữu cơ sở dữ liệu trên postgresql và không có bất kỳ thuộc tính ROLE nào (CREATE_DB, SUPERUSER, ...)chủ sở hữu cơ sở dữ liệu postgresql không thể truy cập cơ sở dữ liệu - "Không tìm thấy quan hệ".
Người dùng này có thể truy cập toàn bộ DB, tạo bảng (trên cơ sở dữ liệu), chọn, chèn và cập nhật dữ liệu.
Tôi đã có danh sách các cơ sở dữ liệu:
mydatabase=> \l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-------------------------+----------+-----------+-----------+-------+-----------------------
postgres | postgres | SQL_ASCII | C | C |
mydatabase | user_x | UTF8 | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
whoami | postgres | SQL_ASCII | C | C |
(6 rows)
và các vai trò sau:
mydatabase=> \du
List of roles
Role name | Attributes | Member of
-----------+-----------------------------------+-----------
postgres | Superuser, Create role, Create DB | {}
user_x | | {}
mydatabase=> \d
List of relations
Schema | Name | Type | Owner
--------+-----------------------------------+----------+----------
public | addresses | table | user_x
public | addresses_id_seq | sequence | user_x
public | assignments | table | user_x
public | assignments_id_seq | sequence | user_x
...
Được rồi, cho đến khi tôi đổ dữ liệu và khôi phục lại nó trên một máy chủ postgresql.
Sau khi nhập dữ liệu trên một máy chủ khác (có cùng tên cơ sở dữ liệu và người dùng) và đăng nhập vào psql \ d câu trả lời bằng lệnh: "Không tìm thấy mối quan hệ".
Vì vậy, tôi đã thêm SUPERUSER vai trò cho user_x trên máy chủ cơ sở dữ liệu đã nhập và người dùng có thể thấy mối quan hệ và dữ liệu một lần nữa.
Nhưng user_x không cần có đặc quyền SUPERUSER để truy cập cơ sở dữ liệu này.
Điều gì xảy ra với bãi chứa được nhập này? Hiện tại có ai đang giải quyết vấn đề này không?
Hi có kỹ năng ninja A.H. bạn phải có. Bạn đa đung! Các đặc quyền truy cập là null. – AndreDurao
Ahh cảm ơn rất nhiều cho những người trong 3 giờ của cuộc sống của tôi mà bạn chỉ cần cho tôi trở lại với điều này! – cjauvin
'c' trong quyền đại diện là gì, vì vậy tôi có thể tự thêm nó, thay vì thêm tất cả quyền mà tôi không muốn được thêm vào? –