Trong PostgreSQL, một superuser (siêu người dùng) là một vai trò đặc biệt có tất cả các quyền trên cơ sở dữ liệu. Superuser có thể thực hiện mọi hành động trong hệ thống cơ sở dữ liệu mà không bị hạn chế bởi các kiểm tra quyền hạn. Điều này bao gồm, nhưng không giới hạn, việc tạo, sửa đổi, và xóa bất kỳ đối tượng cơ sở dữ liệu nào, cũng như quản lý người dùng và các vai trò khác.
Tạo Superuser
Để tạo một superuser mới, bạn cần có quyền superuser hiện tại. Sử dụng lệnh CREATE ROLE hoặc CREATE USER với tùy chọn SUPERUSER:
CREATE ROLE new_superuser WITH SUPERUSER LOGIN PASSWORD 'password'; CREATE USER new_superuser WITH SUPERUSER PASSWORD 'password';
Thay đổi quyền superuser
Bạn có thể thay đổi một vai trò hiện tại thành superuser bằng lệnh ALTER ROLE:
ALTER ROLE role_name WITH SUPERUSER; ALTER ROLE regular_user WITH SUPERUSER;
Thu hồi quyền superuser
ALTER ROLE role_name WITH NOSUPERUSER; ALTER ROLE super_user WITH NOSUPERUSER;
Kiểm tra các superuser hiện tại
Bạn có thể kiểm tra các vai trò hiện tại có quyền superuser bằng cách truy vấn hệ thống bảng pg_roles:
SELECT rolname FROM pg_roles WHERE rolsuper;