Để xem quyền (privileges) của người dùng trong PostgreSQL, bạn có thể sử dụng một số lệnh và truy vấn khác nhau. Dưới đây là một số cách phổ biến để kiểm tra quyền của người dùng:
dp
trong psqlNếu bạn đang sử dụng giao diện dòng lệnh psql
, bạn có thể sử dụng lệnh dp
để xem quyền trên các bảng trong cơ sở dữ liệu hiện tại.
\dp
Lệnh này sẽ hiển thị danh sách tất cả các bảng, cùng với quyền truy cập của các người dùng và nhóm.
du
trong psqlLệnh du
cho phép bạn xem danh sách người dùng và vai trò (roles) trong PostgreSQL, cùng với thông tin về các quyền.
\du
Bạn có thể sử dụng các truy vấn SQL để kiểm tra quyền của người dùng cụ thể trong các bảng hoặc đối tượng khác. Dưới đây là một số truy vấn hữu ích:
SELECT grantee, privilege_type FROM information_schema.role_table_grants WHERE table_name = 'your_table_name';
Thay thế your_table_name
bằng tên bảng mà bạn muốn kiểm tra quyền.
SELECT grantee, table_name, privilege_type FROM information_schema.role_table_grants WHERE table_catalog = 'your_database_name';
Thay thế your_database_name
bằng tên cơ sở dữ liệu mà bạn muốn kiểm tra.
SELECT grantee, privilege_type FROM information_schema.role_usage_grants WHERE grantee = 'your_user_name';
Thay thế your_user_name
bằng tên người dùng mà bạn muốn kiểm tra.
Bạn có thể kiểm tra quyền trên các đối tượng khác như chức năng (functions), sequences, và schemas bằng cách sử dụng các bảng trong information_schema
, như role_routine_grants
và role_schema_grants
.
Ví dụ: Kiểm tra quyền trên các chức năng:
SELECT grantee, routine_name, privilege_type FROM information_schema.role_routine_grants WHERE grantee = 'your_user_name';
Bằng cách sử dụng các lệnh và truy vấn trên, bạn có thể dễ dàng kiểm tra và quản lý quyền của người dùng trong PostgreSQL, từ quyền truy cập bảng cho đến quyền trên các đối tượng khác trong cơ sở dữ liệu.