2013-04-05 33 views
0

我已經創造了一些功能,在一個特定的模式,但在「功能」部分有裏面什麼都沒有..我可以在Postgres中找到我的PLPython函數嗎?

我創造的功能,如下面的例子:

CREATE FUNCTION pymax (a integer, b integer) 
    RETURNS integer 
AS $$ 
    if a > b: 
    return a 
return b 
$$ LANGUAGE plpythonu; 
+0

你能告訴我們用於創建函數的代碼嗎? – Houari 2013-04-05 15:35:04

+0

'功能「部分在哪裏?在pgAdmin? – 2013-04-05 18:21:46

回答

1

如果名字不是用模式修飾,就會在當前模式中創建一個函數(與其他對象一樣)。您當前的架構由當前設置search_path定義。

要查看當前search_path

SHOW search_path; 

有許多的方法來設置search_path,更在這個相關的答案:
How does the search_path influence identifier resolution and the "current schema"

要查明是否有任何函數具有類似名稱存在於你的數據庫中:

SELECT n.nspname, p.proname, pg_get_function_arguments(p.oid) As args 
FROM pg_proc p 
JOIN pg_namespace n ON n.oid = p.pronamespace 
WHERE p.proname ILIKE '%pymax%'; 

If即沒有找到任何東西,該功能不存在於這個數據庫中。也許你錯誤地在另一個數據庫中創建了它?

+0

謝謝,我編輯了在名稱空間中搜索的答案。 (我不知道函數名稱= D) – 2013-04-05 19:00:49

相關問題