在 PostgreSQL 中,public 权限不能被完全撤销
然而,您可以通过撤销 public 角色的特定权限来限制其访问。例如,如果您想要撤销 public 对某个表的 SELECT 权限,可以使用以下命令:
REVOKE SELECT ON your_table FROM public;
这将阻止 public 角色的成员访问该表,但请注意,这并不会完全撤销 public 权限,因为它仍然可以作为默认权限传播给新创建的对象。要完全禁用 public 权限,您需要确保不向 public 角色授予任何权限,并在创建新对象时显式分配权限。