Examples:
Simple echo example:
CREATE OR REPLACE FUNCTION echo() RETURNS integer AS ’
echo ”Somethingn”;
return 0;
‘ LANGUAGE ’plphp’;
A more complicated Array example:
CREATE OR REPLACE FUNCTION insertIntoArray() RETURNS varchar AS ’
function array_insert(&$array, $value, $pos)
{
if (!is_array($array))
return FALSE;
$last = array_splice($array, $pos);
array_push($array, $value);
$array = array_merge($array, $last);
}
function array_2string($array)
{
$vals=array_values($array);
$keys=array_keys($array);
$x=0;
while($x<count($keys))
{
if ($x!=0)
{
$result.=”|”;
}
$result.=$keys[$x].”=”.$vals[$x];
$x++;
}
return $result;
}
$a = array(”zero”, ”one”, ”two”, ”three”, ”four”, ”five”, ”six”, ”seven”, ”eight”);
array_insert($a, ”POOP”, 4);
return array_2string($a);
A great example of a really bad idea:
CREATE OR REPLACE FUNCTION dangerousFunc() RETURNS integer AS ’
readfile(”/etc/passwd”);
return 0;
‘ LANGUAGE ’plphp’;
用PHP 写PL。。这样很吸引很多人。。。
看看PHP黄金搭档。是Postgresql才对。。
不错.这样数据库的选择对象就多了
postgresql比mysql强的地方:
1,久经考验的强大事务处理系统
2,极强的并发行
3,丰富的服务器端编码接口
4,极易扩展
5,久经考验的复杂查询优化系统(包括子查询和多表连接等)
6,丰富的开发资源
7,多种多样的用户(看看mysql除了在web bbs类应用外,还有没有别人用?)
8,优良的SQL兼容
9,丰富多样的开发界面/接口
10,踏实沉稳的作风(postgresql从来不主动说别人不好,你看看mysql?)
这些都是大项,细分的话每个里面都可能有十来项。
- 远程连接PostgreSQL服务器
- Nginx 0.5.33 + PHP 5.2.5(FastCGI)Web服务器
- PostgreSQL 数据库集群和PL/Proxy配置安装指南
- Returning recordsets with functions in PL/pgSQL
- 安装nginx作为web服务器及反向代理
- lighttpd+PHP(FAST-CGI)+MySQL配置方案
- mysqlnd成为php 5.3中的默认mysql驱动
- postgresql用jboss来实现分布式事务
- 转换包含UTF8和latin1等多种编码的MYSQL数据库
- Nginx 0.7.x+PHP5.2.6+MySQL5.1小内存的配置优化
