Tạo một người dùng mới, chỉ đọc trong postgres


9

Tôi muốn tạo một người dùng mới trong postgresqlcơ sở dữ liệu hiện có trên máy Ubuntu. Tôi muốn cấp cho người dùng này quyền truy cập chỉ đọc vào tất cả các bảng.

Tôi phải làm nó như thế nào? Tôi có cần tạo một người dùng mới trên Ubuntu không?

Cảm ơn,

Udi

Câu trả lời:


20

Tham khảo lấy từ Điều này!

Tập lệnh tạo người dùng chỉ đọc:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

Gán quyền cho người dùng chỉ đọc này:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;

Ấn tượng! Một câu trả lời mới, có liên quan sau hơn 6 năm.
Adam Matan

Đáng giá Đây là liên kết hàng đầu đối với tôi khi tìm kiếm "tạo người dùng chỉ đọc trong Postgres". Bài viết hàng đầu có một ví dụ có liên quan là một chiến thắng trong cuốn sách của tôi.
Audrius

3

Không cần tạo người dùng mới trong hệ điều hành. Chỉ cần phát hành:

TẠO tên người dùng mới

trong psql (hoặc pgadmin, hoặc bất kỳ công cụ nào bạn thích) và bạn sẽ có một người dùng mới. Quyền truy cập của người dùng này phụ thuộc vào những gì bảng của bạn được thiết lập. Nhưng mặc định, nó sẽ không có quyền trên bất kỳ bảng nào, vì vậy bạn sẽ phải CẤP cái này. Nếu bạn đã cấp quyền GRANTed cho nhóm chung, người dùng sẽ có quyền truy cập từ đầu.

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.