首页 > 学技术 > 技术网文 > PostgreSQL > 正文

[精华] PGSQL爽的不能用语言表达。他支持plPHP了。


来源 chinaunix.net 酷勤网整理

PGSQL爽的不能用语言表达。他支持plPHP了。     
 
哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。哈哈哈哈。。。哈哈。。

Examples: 


Simple echo example:

CREATE OR REPLACE FUNCTION echo() RETURNS integer AS '
echo "Something\n";
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);

' LANGUAGE 'plphp';

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才对。。



 Trotter 回复于:2003-08-06 12:58:21

不错.这样数据库的选择对象就多了


 netkiller 回复于:2003-08-06 14:04:07

postgresql比mysql强的地方:
1,久经考验的强大事务处理系统
2,极强的并发行
3,丰富的服务器端编码接口
4,极易扩展
5,久经考验的复杂查询优化系统(包括子查询和多表连接等)
6,丰富的开发资源
7,多种多样的用户(看看mysql除了在web bbs类应用外,还有没有别人用?)
8,优良的SQL兼容
9,丰富多样的开发界面/接口
10,踏实沉稳的作风(postgresql从来不主动说别人不好,你看看mysql?)
这些都是大项,细分的话每个里面都可能有十来项。 

---- (www.pgsqldb.org)laser


我的比较
特性:
Mysql PostgreSQL
SQL-2/SQL92 Y Y
SQL-3/SQL99 N Y
View视图 N Y
PRIMARY KEY主键 Y Y? ? ?
FOREIGN KEY外键 Y(4.0.x)Y
subselect子查询 N Y ?
TRIGGER触发器 N Y ?
RULE规则 N Y ?
FUNCTION过程 N Y ?
FUNCTION函数 N Y ?
CURSOR游标 N Y ?
PLSQL ? N Y(PL/pgSQL,PL/Tcl,PL/Perl,PL/Python,最新plPHP) ?
事务处理 Y(4.0.x) Y
表的锁定 Y Y ?
OO支持 ? N(RDBMS) Y(O-RDBMS) ?
HA解决方案 N Y? ? ?
数据同步复制 N Y(7.2.x) ?

性能方面:
Mysql  PostgreSQL Openldap
速度 快 较快 最快
容量 GB级数据库 TB级数据库 不清楚
连接处理方式 线程 进程 不清楚


 hmkart 回复于:2003-08-07 12:26:58

那现在不就剩速度优势了,
不过mysql简单到是真的,
但pgsql是真正意义上的数据库!看应用吧!
大多数地方用 mysql是因为他好用,可用,够用!
不过要是处于资金和业务方面的考虑!
pgsql到是 mysql的另个选择!


 netkiller 回复于:2003-08-07 14:35:43

NO,
我用PGSQL代替ORACLE 
我手头只MYSQ,PGSQL就对比了一下...


 li2002 回复于:2003-08-07 22:00:30

有这么好?下个试试先。


 hmkart 回复于:2003-08-08 09:52:11

我说了,pgsql 并不是不可以代替oracle,
这个东西,当时设计之初,就是完全按照大型RDBMS来做的,
但也因为这样,有些地方还没有实现!


 netkiller 回复于:2003-08-08 09:58:46

时间。

开发PGSQL hacker们分部在世界各地。。这样协调,沟通,语言。等等。。
都会影响开发速度。。。

PGSQL真的很有远见。有很多东西。是商业DB都没想到的。。


 hitty 回复于:2005-02-02 12:00:28

POSTGRES是开发者的数据库


 dancebear 回复于:2006-03-06 18:16:24

这个是那个版本的pgsql?


 likuku 回复于:2006-03-08 22:59:20

引用:原帖由 dancebear 于 2006-3-6 18:16 发表
这个是那个版本的pgsql? 



直接用最新的8.1就是了。


 litrin 回复于:2006-03-09 13:01:47

没有用过,看上去不错,收藏中


 Fufay 回复于:2006-03-12 11:31:25

不错,我一发现她就立刻爱上她了。


 liinaazzw 回复于:2006-03-19 14:21:28

不错
看后很受启发!


 轩辕砍刀 回复于:2006-03-23 23:22:56

看上去不错




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=132342
转载请注明作者名及原文出处



收藏本页到: