gpt4 book ai didi

postgresql - 为什么你会授予对 SEQUENCE 的特殊权限?

转载 作者:行者123 更新时间:2023-11-29 14:29:04 28 4
gpt4 key购买 nike

什么是限制数据库中 SEQUENCE 权限的好用例?

通常,当我授予表的权限时,我也会授予序列相同的权限。这似乎是一个多余的步骤,那么当 SEQUENCE 权限与 TABLE 权限不同时,是否有一个好的用例?

最佳答案

我可以看到 3 个原因。

  • 并非所有序列都附加到一个表中,因此允许单独访问它们是有意义的。
    例如,向服务器发送消息的应用程序可能需要所有消息的唯一标识符,在这种情况下,数据库序列是生成在所有客户端中唯一的 ID 的便捷方法。

  • 与表不同,当普通用户在表上时,他们很少被授予对序列的所有权限,而且它们是不同的(分别是 SELECT USAGE UPDATESELECT INSERT UPDATE删除截断引用触发器)。这会造成困惑,无法授予对序列的所有特权。正确的方法是仅对序列授予 USAGE
    当使用所述序列在表上生成主键值时,您可能会想象到让任何人将序列重置为 1 的风险。
    从这个意义上讲,序列权限确实需要单独管理。

  • 数据库中所有对象的标准行为,以及更普遍的与安全相关的一切,是您必须明确授予对象权限,然后任何人才能使用它。
    上面的两个要点仅仅解释了为什么特权必须特定于序列,但这里是关于为什么默认情况下从不授予特权的更一般的考虑。

关于postgresql - 为什么你会授予对 SEQUENCE 的特殊权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409567/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com