2009-01-24 117 views
3

我一直在使用PostgreSQL,玩弄维基百科的数百万个超链接等等,现在已经2年了。我要么直接通过发送SQL命令来做我的事情,要么我在Python中编写客户端脚本来管理一百万个查询,但这无法通过手动高效地(高效地)完成。PostgreSQL过程语言:选择?

我会在我的32位笔记本电脑上运行我的python脚本,并让它与运行PostgreSQL的$ 6000 64位服务器通信;因此,我将拥有额外的2.10 Ghz,3 GB的RAM,psyco和一个多线程SQL查询管理器。

我现在意识到现在是我升级的时候了。我需要学习使用过程语言(PL)的服务器端脚本;我真的需要减少网络流量和固有的序列化开销。

现在,我真的不想研究所有PL。知道我已经知道python,并且我正在寻找努力和语言效率之间的方法,你应该安装,学习和使用什么PL,以及为什么和如何?

回答

6

既然你已经知道python,PL/Python应该看看。你听起来像你为数据库查询编写SQL,所以PL/SQL是其自然延伸。

PL/SQL感觉就像SQL一样,不管怎么说,你会从SQL中得到所有东西,比如整行的变量和过程语言的常用控制结构。它适合您通常与数据库进行交互的方式,但它不是有史以来最优雅的语言。我不能说PL/Python,因为我从来没有用过它,但既然你知道python,它应该很容易翻遍some examples,看看你是否喜欢它。

+0

是的。我在PL/Python或者普通的PL \ pgSQL之间犹豫不决。我知道python很慢;我想知道PL/pgSQL是否更快?我也想知道如何找出哪些PL已经集成到我的postgresql服务器中?感谢您的快速回答! – 2009-01-24 03:08:58

2

为什么你不能在数据库服务器上运行你的Python?这具有最少的复杂性 - 您可以运行您已有的程序。

1

我和你的情况完全一样,在PL/SQL上放弃一段时间后放弃了PL/Python。这是一个很好的决定,回头看看。在unicode问题(客户端编码,字节序列)和特定postgres数据类型(bytea)的地方,有些东西让我难以忍受。