我有一大组用户定义的过程需要在几个单独的目录(数据库)上使用。如何在所有数据库中创建postgres用户定义的函数?
通常在pg_catalog.pg_proc中看到的内置过程似乎是 ,反映在所有数据库的pg_catalog模式中。我希望在postgres数据库中创建一个函数可能会使其全局可用,但是不会,无论是在postgres.pg_catalog还是postgres.public模式中创建。
有谁知道我怎么可以让用户定义的程序普遍可用?
我尝试伪造命名空间和所有者,授予执行公共,并在我的左肩(而不是在满月)持有一只黑猫。
将它设置为扩展工作吗? (这可能需要为我环境的一些谈判和finagling是我没有尝试过的唯一原因。)提前
感谢
你可以把这个函数放在模板数据库中,任何新的数据库都可以拥有它。否则扩展是你最好的选择 –
让它在模板中会让它变成中途的一半,但是让更多的同样东西更新的维护令人头疼。 我会尝试扩展。 谢谢,尼尔。 – user8446599
成功安装了我的第一个postgres扩展,但它仍然有同样的问题。 我在postgres架构中创建了它,并且可以在那里成功调用它,但是从沙箱模式调用唤起'错误:函数...不存在'。投诉。 我不禁想到我错过了其他需要完成的事情。 在postgres.pg_catalog.pg_available_extensions中,plpgsql以1.0作为'installed_version'的值列出 - 这让我认为plpgsql本身 以这种方式加载。 (显然它随处可用。) 有什么建议吗? – user8446599