我已經創造了一些功能,在一個特定的模式,但在「功能」部分有裏面什麼都沒有..我可以在Postgres中找到我的PLPython函數嗎?
我創造的功能,如下面的例子:
CREATE FUNCTION pymax (a integer, b integer)
RETURNS integer
AS $$
if a > b:
return a
return b
$$ LANGUAGE plpythonu;
我已經創造了一些功能,在一個特定的模式,但在「功能」部分有裏面什麼都沒有..我可以在Postgres中找到我的PLPython函數嗎?
我創造的功能,如下面的例子:
CREATE FUNCTION pymax (a integer, b integer)
RETURNS integer
AS $$
if a > b:
return a
return b
$$ LANGUAGE plpythonu;
如果名字不是用模式修飾,就會在當前模式中創建一個函數(與其他對象一樣)。您當前的架構由當前設置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即沒有找到任何東西,該功能不存在於這個數據庫中。也許你錯誤地在另一個數據庫中創建了它?
謝謝,我編輯了在名稱空間中搜索的答案。 (我不知道函數名稱= D) – 2013-04-05 19:00:49
你能告訴我們用於創建函數的代碼嗎? – Houari 2013-04-05 15:35:04
'功能「部分在哪裏?在pgAdmin? – 2013-04-05 18:21:46