跳转到内容

生物信息学中的数据管理/在PostgreSQL中添加编程语言

来自维基教科书,开放世界中的开放书籍

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:服务器编程

华夏公益教科书