生物資訊學中的資料管理/在PostgreSQL中新增程式語言
外觀
Python 中的函式示例
create or replace function fun1(n integer) returns integer as $$
return n * 100
$$ language plpythonu;
pgSQL 中的函式示例(等效於 postgres 中的 PL/SQL)。
create or replace function fun2(n integer) returns integer as '
begin
return n * 200;
end;
' language plpgsql;
SQL 查詢
SELECT lanname as "Name", (CASE WHEN lanpltrusted THEN 'yes' ELSE 'no' END) as "Trusted?"
FROM pg_catalog.pg_language
WHERE lanispl;
或者
createlang 實用程式 [引數:-d DBNAMES,-U USER,-l 用於列出]
C:\Program Files\PostgreSQL\8.3\bin> createlang -e -l -d postgres -U postgres
結果
Procedural Languages Name | Trusted? -----------+---------- plpgsql | yes plpythonu | no
createlang 實用程式 [引數:-U USER LANG DBNAME] *需要對資料庫的超級使用者訪問許可權
C:\Program Files\PostgreSQL\8.3\bin>createlang -e -U postgres plpgsql postgres
C:\Program Files\PostgreSQL\8.3\bin>createlang -e -U postgres plpythonu postgres
新增 C/C++ 支援可能更復雜,因為它需要將原始碼編譯到伺服器上的“".so" 檔案中。更多詳情請參見 PostgreSQL:伺服器程式設計