Анатолий Эрнст Asked:2022-07-25 15:20:30 +0000 UTC2022-07-25 15:20:30 +0000 UTC 2022-07-25 15:20:30 +0000 UTC 创建分区的权限。postgres 772 当我尝试在某个模式中创建分区时,我收到一个错误 - 必须是表的所有者。命令:create table ... partition of... 正常表的创建和删除没有问题。显然,分区权限不够? sql postgresql 1 个回答 Voted Best Answer Мелкий 2022-07-25T15:58:32Z2022-07-25T15:58:32Z melkij=> create table measurement_y2006m04 partition of measure for values from ('2006-04-01') to ('2006-05-01'); 错误:必须是表测量的所有者 一般来说,在我看来,错误消息很明显地回答了到底是什么问题。 完全正确,因为create table .. partition of ..有必要成为这个分区最多的表的所有者。能怎样?partition of不仅创建了一个新表,而且还改变了分区头的结构——它的分区列表。允许任何人创建新分区是一个严重的安全漏洞。 PS:比如有一群分析师。已经为他们创建了一个单独的方案,用户可以在其中制作自己的板来保存他们的结果。并且有一个按记录创建日期分区的表,这些用户对其具有只读权限。接下来,用户在其合法模式中创建一个新分区。因此,一段时间后,它将(作为分区的用户所有者)在该分区中获得插入/更新/删除权限。健康吗?
一般来说,在我看来,错误消息很明显地回答了到底是什么问题。
完全正确,因为
create table .. partition of ..有必要成为这个分区最多的表的所有者。能怎样?partition of不仅创建了一个新表,而且还改变了分区头的结构——它的分区列表。允许任何人创建新分区是一个严重的安全漏洞。PS:比如有一群分析师。已经为他们创建了一个单独的方案,用户可以在其中制作自己的板来保存他们的结果。并且有一个按记录创建日期分区的表,这些用户对其具有只读权限。接下来,用户在其合法模式中创建一个新分区。因此,一段时间后,它将(作为分区的用户所有者)在该分区中获得插入/更新/删除权限。健康吗?