生物信息学中的数据管理/在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:服务器编程