我目前正在運行postgres 8.4.4,我需要覆蓋對駐留在我的數據庫的公共架構中的函數的調用。例如,在pg_catalog存在功能postgres公共架構功能別名
上(文本)
我已經把它覆蓋
公共方案中的功能上(文本)
我的問題歸結爲重寫對public.upper(文本)的調用。也就是說我必須執行如下函數調用:
select public.upper(text);
而我希望能夠以這種方式來調用public.upper(文本):
選擇上(文字);
如何做到這一點?
我目前正在運行postgres 8.4.4,我需要覆蓋對駐留在我的數據庫的公共架構中的函數的調用。例如,在pg_catalog存在功能postgres公共架構功能別名
上(文本)
我已經把它覆蓋
公共方案中的功能上(文本)
我的問題歸結爲重寫對public.upper(文本)的調用。也就是說我必須執行如下函數調用:
select public.upper(text);
而我希望能夠以這種方式來調用public.upper(文本):
選擇上(文字);
如何做到這一點?
您可以設置模式搜索路徑並將pg_catalog放在搜索路徑的末尾。
請參閱Postgres手冊中的5.7.3. The Schema Search Path和5.7.5. The System Catalog Schema。
謝謝我最初在我的搜索中看到了5.7.3。 – Woot4Moo 2010-09-16 18:35:42
我認爲這是一個糟糕的決定,以相同的名稱與本機功能 – 2010-09-16 18:19:45
我同意以及小馬,我需要證明一個潛在的問題與默認的用戶權限。 – Woot4Moo 2010-09-16 18:22:26