2011-09-13 44 views
0

由於我們的PHP數據測試框架的一部分,我們通過降低&創建運行測試用戶的測試數據庫啓動(讓我們稱他爲‘富’)。如何安裝Postgres的tablefunc非高級用戶

我們的template1沒有公共模式。這是因爲我們需要的測試數據庫有通過「富」資「公」(並且默認情況下,即使「富」創建一個數據庫,Postgres將讓「公」通過「的Postgres」,而不是「富」資)

現在,我們需要在這個測試數據庫上安裝tablefunc。 Tablefunc包括無法安裝非超級用戶(例如我們的用戶「富」)

就可以了,怎麼可以這樣來達到的C函數?無論如何,我們的PHP數據測試必須以非超級用戶身份運行。

回答

1

你可以暫時把c語言trusted language並安裝tablefunc非超級用戶:

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

見我previous answer更多細節

+1

是一個非超級用戶允許更新pg_language? –

+0

@a_horse_with_no_name:顯然不是,但是可以在單用戶模式下以隱式超級用戶權限運行服務器。 –

+0

這對我們的目的有效(對不起,因爲我發佈了很長的延遲) –

相關問題