【问题标题】:postgres public schema function aliasingpostgres 公共模式函数别名
【发布时间】:2022-03-05 04:08:54
【问题描述】:

我目前正在运行 postgres 8.4.4,并且我需要覆盖对驻留在我的数据库的公共架构中的函数的调用。例如在 pg_catalog 中存在一个函数

上(文字)

我在公共架构中放置了一个函数,它覆盖了

上(文字)

我的问题归结为覆盖对 public.upper(text) 的调用。也就是说我必须像这样执行函数调用:

选择 public.upper(文本);

而我希望能够以这种方式调用 public.upper(text):

选择上部(文本);

如何做到这一点?

【问题讨论】:

  • 我认为与原生函数同名是一个糟糕的决定
  • 我也同意小马,我需要证明默认用户权限存在潜在问题。

标签: sql postgresql function


【解决方案1】:

您可以设置模式搜索路径并将 pg_catalog 放在搜索路径的末尾。
请参阅 Postgres 手册中的 5.7.3. The Schema Search Path5.7.5. The System Catalog Schema

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多