微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Postgres 中安全删除用户

如何解决在 Postgres 中安全删除用户

我对 Postgress 安全主题很陌生。我使用以下命令创建了一个用户

CREATE USER myuser WITH PASSWORD 'PASSWORD';
GRANT CONNECT ON DATABASE "MyDB" TO myuser;
GRANT ALL PRIVILEGES ON DATABASE "MyDB" TO myuser;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;

紧接着,我收到类似于以下内容错误,我想删除用户

ERROR:  role "tempuser" cannot be dropped because some objects depend on it
DETAIL:
privileges for view myView
privileges for table myTable
... [rest of views and tables]

有点吓到我了。如何在不影响数据库中的数据和其他对象的情况下安全地删除用户

解决方法

使用相应的 REVOKE 撤销您的每个 GRANT。

有点吓到我了。如何在不影响数据库中的数据和其他对象的情况下安全地删除用户?

如果您认为 REVOKE 会“影响对象”,那么您不能在不影响对象的情况下删除用户。为什么这让你害怕?如您所见,系统不会让您隐式这样做,所以有什么可害怕的?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。