【问题标题】:Can I rely on the aclexplode() function in PostgreSQL?我可以依赖 PostgreSQL 中的 acleexplode() 函数吗?
【发布时间】:2017-09-24 01:09:22
【问题描述】:

PostgreSQL 9.5 中有一个有用的函数,名为 aclexplode(),但我似乎在上面找不到任何 official documentation

我应该避免使用它吗?它在技术上是否是一个不稳定的 API?

【问题讨论】:

  • 我也没有找到太多的东西。不过,from this post:该功能仅适用于查询系统信息表以获取权限详细信息。对于任何其他用途,我会说不推荐。 -- 另外,it has a backport 也适用于古代版本。
  • 它有什么作用?也许您要解决的问题有不同的解决方案。
  • 我正在寻找一种简单的方法来突破 pg_database.datacl 中的单个 ACL 权限。 aclexplode() 函数对此非常有用。
  • Postgres 有超过 2600 个没有被正式记录的内部函数。它们是可用的,有时我会使用其中的一些。我认为没有理由使用它们是不合适的。 aclexplode () 可能用于创建information_schema.table_privileges

标签: postgresql


【解决方案1】:

是的,您可以信赖它。这个函数最终记录在即将发布的 PostgreSQL 12 (commit) 中。

aclexplode 返回一个 aclitem 数组作为一组行。输出列是授予者oid,被授予者oid0 表示PUBLIC),授予特权为textSELECT,...)以及是否可以授予特权booleanmakeaclitem 执行逆运算。

【讨论】:

    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 2015-01-16
    • 2017-02-01
    • 2012-01-09
    • 2015-03-15
    • 2020-07-22
    相关资源
    最近更新 更多