【问题标题】:how to install postgres' tablefunc as non-poweruser如何以非超级用户身份安装 postgres 的 tablefunc
【发布时间】:2023-03-08 01:24:02
【问题描述】:

作为我们 php 数据测试框架的一部分,我们首先为运行测试的用户删除并创建一个测试数据库(我们称他为“foo”)。

我们的模板 1 没有公共架构。这是因为我们需要测试数据库拥有由 'foo' 拥有的 'public' (默认情况下,即使 'foo' 创建一个数据库,Postgres 也会让 'public' 由 'postgres' 拥有,而不是 'foo')

现在,我们需要在这个测试数据库上安装tablefunc。 Tablefunc 包含不能作为非超级用户安装的 C 函数(例如我们的用户 'foo')

可以,以及如何实现?无论如何,我们的 php 数据测试必须以非超级用户身份运行。

【问题讨论】:

    标签: c templates function postgresql privileges


    【解决方案1】:

    您可以暂时将c 语言视为trusted language 并将tablefunc 安装为非超级用户:

    UPDATE pg_language SET lanpltrusted = true WHERE lanname LIKE 'c';
    

    更多详情请见我的previous answer

    【讨论】:

    • @a_horse_with_no_name:显然不是,但是可以在具有隐式超级用户权限的单用户模式下运行服务器。
    • 这对我们的目的有效(抱歉,自从我发布以来耽搁了很长时间)
    猜你喜欢
    • 2017-07-14
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2021-05-26
    • 2015-08-28
    相关资源
    最近更新 更多