Còn về
DROP USER <username>
Đây thực sự là một bí danh cho DROP ROLE
.
Bạn phải loại bỏ rõ ràng mọi đặc quyền được liên kết với người dùng đó, đồng thời chuyển quyền sở hữu của người dùng đó sang các vai trò khác (hoặc bỏ đối tượng).
Điều này đạt được tốt nhất bởi
REASSIGN OWNED BY <olduser> TO <newuser>
và
DROP OWNED BY <olduser>
Sau này sẽ xóa mọi đặc quyền được cấp cho người dùng.
Xem tài liệu postgres để biết VAI TRÒ DROP và mô tả chi tiết hơn về điều này.
Bổ sung:
Rõ ràng, việc cố gắng loại bỏ người dùng bằng cách sử dụng các lệnh được đề cập ở đây sẽ chỉ hoạt động nếu bạn đang thực thi chúng trong khi được kết nối với cùng cơ sở dữ liệu mà GRANTS ban đầu được tạo ra, như được thảo luận ở đây:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local