一些非常有用的 PostgreSQL 扩展

我亲爱的朋友们,今天让我们来讨论下 PostgreSQL 以及该数据库最有用的一些扩展。

PostgreSQL 是一个关系型数据库管理系统,主要特点:

  • 数据库支持几乎无限的大小;
  • 强大而且可靠的事务复制机制
  • 内建的可扩展编程语言
  • 继承
  • 可通过一些扩展组件进行功能扩展

今天我们主要介绍最后一个特性,下面让我们来看一些 PostgreSQL 的扩展。

PostGIS

http://www.oschina.net/p/postgis

PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS最大的特点是符合并且实现了OpenGIS的一些规范,是最著名的开源GIS数据库。

PostPic

http://www.oschina.net/p/postpic

PostPic 是 PostgreSQL 数据库的扩展,用来在数据库内进行图像处理,PostPic 为 SQL 增加了 image 类型,还包含很多相关的函数用来处理图片以及从图片中抽取对应的属性。

PL/Proxy

http://www.oschina.net/p/pl+proxy

PL/Proxy和PostgreSQL集群的结构关系可以用下图清楚地表示

Texcaller

http://www.oschina.net/p/texcaller

Texcaller 是 TeX 命令行工具的编程接口,采用纯 C 编写的可移植库,无需外部依赖。

PgMemcache

http://www.oschina.net/p/pgmemcache

PgMemcache 是一组 PostgreSQL 用户自定义函数提供了访问 memcached 缓存服务器的接口。安装 pgmemcache 很简单,但需要一些额外的琐碎要求:libmemcached 必须是 0.38 或者更新版本,PostgreSQL 必须是 8.4 或者更新版本。该扩展提供了 memcached 数据的读写、搜索和删除。

Prefix

http://pgfoundry.org/projects/prefix

prefix 模块实现了文本的前缀匹配操作,支持索引典型的写法:
SELECT * FROM osc_prefixes WHERE prefix @> ’0123456789′ ORDER BY length(prefix::text) LIMIT 1

pgSphere

http://www.oschina.net/p/pgsphere

pgSphere 为 PostgreSQL 数据库提供球面数据类型,函数,和运算函数。

Multicorn

http://www.oschina.net/p/multicorn

Multicorn 是一个 PostgreSQL 9.1+ 的扩展模块,用于简化外部数据封装开发,允许开发者使用 Python 编程语言开发。

  • oracle_fdw – connects to Oracle databases.
  • mysql_fdw – connects to MySQL databases.
  • tds_fdw – connects to Sybase and Microsoft SQL Server databases.
  • odbc_fdw – connects to any ODBC source.
  • couchdb_fdw – connects to CouchDB databases.
  • redis_fdw – connects to Redis databases.
  • twitter_fdw – fetches messages from Twitter.
  • ldap_fdw – queries LDAP servers.
  • file_fdw – access data files in the server’s file system and query them as tables.
  • file_fixed_length_record_fdw – reads flat files with columns of fixed width.
  • PGStrom – uses GPU devices to accelerate sequential scan on massive amount of records with complex qualifiers.
  • s3_fdw – reads files located in Amazon S3.
  • www_fdw – accesses web services as a data source.
  • multicorn.sqlalchemyfdw – used to access data stored in any database supported by the sqlalchemy python toolkit, such as MySQL, SQLite, Oracle, Microsoft SQL Server and many others.
  • multicorn.fsfdw – used to access data stored in various files, in a filesystem.
  • multicorn.csvfdw – used to access data stored in CSV files.
  • multicorn.rssfdw – used to access items from an RSS feed.

Hstore

http://www.postgresql.org/docs/9.1/static/hstore.html

该模块为 PostgreSQL 提供存储Key-Value数据的功能,你可以定义 hstore 数据列来存储这样的数据,并可对这些数据进行分组、排序和唯一检索的查询。

Intarray

http://www.postgresql.org/docs/9.1/static/intarray.html

intarray 模块提供一系列有用的函数和运算用于操作整数数组,同时支持索引搜索。

如果数组中包含 null 元素,那么所有的这些操作都将抛出错误。当我开发一个简单的图像比较功能时,我会使用这个扩展 (http://leopard.in.ua/2010/12/09/bystroe-sravnenie-izobrazhenij-s-pomoshhyu-rubyphp-i-postgresql/, 俄文).

Dblink

http://www.postgresql.org/docs/9.1/static/dblink.html

Dblink 让你可以在 PostgreSQL 连接会话中支持连接到其他 PG 数据库,同时支持自主事务  autonomous transactions (like in Oracle).

That’s all folks!

英文原文OSCHINA原创翻译

德国法院裁定 Nokia 侵犯 IPCom 专利

据国外媒体报道,德国Mannheim地方法院上周五做出裁决,判定Nokia侵犯了属于德国专利公司IPCom的专利权。对此,Nokia发言人Mark Durrant表示,受影响的手机早已停止销售,对于这一裁决该公司不表认同。

Durrant表示,这些专利是在2011年2月所授予,但是Nokia几乎所有使用了这项技术的手机都是在这个时间之前生产的;另外,该公司现在销售的产品已使用了其它技术。Durrant指出,这一判决未就Nokia当前的行动设备是否侵犯这项专利做出裁决,并表示该公司将上诉至更高一级的地方法院以进一步明确该裁决。Nokia正面临高阶智能手机竞争对手和廉价手机竞争对手的竞争。

Nokia上周四公布了亏损额超出预期的2012年第一季财报,同时宣布公司销售主管离职。Nokia同时表示,公司将进一步削减成本。

求求你,辞退我

不管遇到什么情况,我都会问自己两个问题:

  1. 我希望这种情况的最终结果是什么
  2. 暗地里希望这种情况的最终结果是什么

例如,在我的前一个公司里,老板要在她的办公室里举行一次紧急会议。会议邮件的标题是“赶进度”。这是一种很含糊的会议主题,它的意思可以是:1)她希望进度能赶上,或者 2)她打算辞退我。

会议通知在凌晨2点发出,而会议在6个小时之后的早上8点开始。从我收到邮件的时候起,我的脑子里开始浮想。她究竟是想要说些什么?邮件里什么都没说明,她应该是想辞退我。她从来没有深夜这么晚发过邮件。公司情况不好,一定是这样了。我庆幸自己找到了答案。

我问了自己两个问题:

  1. 我希望这种情况的最终结果是什么:
    我真的希望她只是想让我在任务计划上赶上进度。我有一个家庭需要供养,没有任何的准备。我现在承担不起被辞退的后果。正是圣诞节期间,没有公司招聘人。请让这次会议成为一次像往常那样讨论将来目标的会议吧。
  2. 暗地里希望这种情况的最终结果是什么
    辞退我。求你了。结束我目前的痛苦。这份工作不适合我。我现在真的不想再做了。这不是我加入公司时想要做的工作。每天到公司里做这种工作,我总是心不在 焉。在过去的两个月里我经常上班迟到。难道你看出不出我已经对工作不再关心了吗?我已经不再想过这样的公司生活。我希望能创造出一些有意义的东西。我希望 能创造出一些别人愿意使用的东西。我希望去做那些我拿手的事情。出于对任何生灵的仁慈,请辞退我。

结果是:她只想赶上进度。这是一种苦乐参半的感觉,但最终,这让我认识到,我应该去做我暗地里想要做的事。我真正想要的是另外一种工作。

一个月后我辞职了。如果她不打算结束我心底里的痛苦,那么我自己来。

[本文英文原文链接:Fire Me. I Beg You. ]

英特尔今天正式发布 Ivy Bridge 处理器

北京时间4月23日早间消息,英特尔周一将正式发布Ivy Bridge处理器。Ivy Bridge是英特尔首款22纳米工艺处理器,而当前的Sandy Bridge处理器采用32纳米工艺制造。英特尔22纳米工艺中引入了“Tri-gate”3D晶体管技术。英特尔表示,这一技术能带来“前所未有”的功耗下降和性能提升,从而在未来几年中继续支持摩尔定律描述的行业发展规律。

英特尔即将推出的Ivy Bridge处理器将首次使用22纳米制程。
英特尔即将推出的Ivy Bridge处理器将首次使用22纳米制程。

Ivy Bridge还将大幅加强显示核心。一名熟悉Ivy Bridge的业内人士本月表示:“用户能直观地看到显示核心的明显提升,而在CPU核心方面,你会发现增量式的改进。”这一说法已被早期评测所证实。

Insight64首席分析师纳桑·布鲁克伍德(Nathan Brookwood)表示:“IE、火狐和Chrome正在进行一场性能大战。他们改进性能的一个重要方面是HTML的图像元素。因此如果比较IE9和 IE8,那么最重要的改进将是利用图形处理器的加速功能完成更多工作。”他指出,英特尔Ivy Bridge将首先支持OpenCL 1.1技术。

通过Ivy Bridge,Windows 7系统的性能将获得大幅提升。不过英特尔已经明确表示,Windows 8才是真正的目标市场。

英特尔CEO保罗·欧德宁(Paul Otellini)在去年秋季的一次会议上表示:“从Windows 8开始,主流操作系统将支持触控操作。我们认为,在超极本产品中,触控非常重要。当用户看到新的Windows界面,他们将会希望触摸。如果屏幕不能提供 这样的功能,用户将感到失望。”

业内人士预计,包括惠普Folio 13和戴尔XPS 13等产品在内,多款超极本都将升级至Ivy Bridge处理器。

不过,在Windows 8正式推出之前,这款处理器主推的市场仍是Windows 7平台。英特尔最初将推出面向桌面电脑和笔记本的四核处理器,而在5月到6月,英特尔还将推出主流的双核处理器。

在Mac电脑方面,有传闻称苹果将在未来几个月中推出厚度更薄的15英寸MacBook笔记本,以及新款13英寸MacBook。这些产品有可能采用最新的Ivy Bridge处理器。

Ivy Bridge的主要特色包括:

3D晶体管技术

Ivy Bridge采用22纳米工艺,并首次引入了英特尔的3D晶体管技术。这对于芯片行业跟上摩尔定律的预测来说是必要的。随着设备体积越来越小,基于传统2D技术来制造芯片已经难以跟上发展。

USB 3.0

Ivy Bridge首次内建了USB 3.0功能。这意味着USB 3.0未来将得到普及。市场研究公司In-Stat预计,2012年全球市场将出货4亿台支持USB 3.0的设备。

图形显示/多媒体

Ivy Bridge预计将采用型号为HD 4000的显示核心,相对于Sandy Bridge的显示核心性能提升明显。

OpenCL 1.1和DirectX 11

英特尔将首次使处理器支持OpenCL和DirectX 11。

文/新浪科技

桌面 Linux:免费背后的高昂代价

作为将专业级计算引入到普通PC的一款免费操作系统,Linux已取得了长足发展;想当初,关掉系统这么简单的操作都需要执行秘密的信号交换,或者 向计算机发出深奥难解的祷告(比如“computername ~ # shutdown -h now”)。而如今,几乎所有的Linux发行版(市面上流行的发行版大约有450款)把僵硬刻板的命令行隐藏在漂亮的用户界面后面,比如Gnome、 KDE、Enlightenment或Xfce等用户界面,它们模仿了十亿Windows用户所熟悉的桌面隐喻(desktop metaphor)概念。万一现在果真要从容关闭Linux机器,也只需要点击几下鼠标就行了。

本报记者自从早在上世纪90年代发现了拓林思(Turbolinux)的魅力后,就一直是Linux发烧友,拓林思是一款早期的日文发行版。他在饱 受Windows NT的磨难后惊喜地发现,拓林思让一台日渐老迈的奔腾计算机起死回生有多么容易,为它注入了新的活力,在《经济学家》报社驻东京分社充当打印服务器。

一旦搭建起来,Linux机器就能顺畅无阻地运行。绝对没有困扰Windows、甚至Mac机器的病毒及其他恶意软件,不需要人们担心。另外,如果 需要的话,有一款方便的程序包管理工具可用来下载和安装额外的软件。后来,由于开发人员开始定制Linux,以便桌面端使用,本报记者迁移到了 Caldera的OpenLinux,后来迁移到了Xandros、Knoppix、openSUSE和Kubuntu,最后选择了Linux Mint的KDE版本。

Linux Mint的最大优点在于,它在广泛赞成自由和开源软件(FOSS)的原则的同时,还欣然吸纳了专有的驱动程序、编解码器、实用工具以及像Adobe的Flash这些插件。目的一直在于为用户简化生活,而不是取悦于开源拥护者。

不过,本报记者抨击的一个方面是,升级到更高版本后,Linux Mint要求用户来一次全面的重新安装,而不是滚动增量更新(rolling incremental update)。他也明白其中的原委,但认为这是不必要的苦差事。由于每隔六个月就推出新版本,迅速紧跟Canonical大受欢迎的Ubuntu的最新 版本(Linux Mint基于Ubuntu;而Ubuntu本身基于Debian),更是如此。

倒不是说用户需要安装出现的每一个新版本。但是我们大多数人一贯以来认为,软件往往变得越来越好。于是,大家情不自禁地从发行商的网站下载一份最 新、最好的版本,把“ISO”映像文件刻录到光盘上,重启计算机,回答几个问题,然后让安装自行快速完成。与此同时,无数的额外程序包在后台下载(为了节 省空间,从光盘腾出去)。把一款现代的Linux发行版安装成功能完备的切实可行的系统(你可能需要的应用程序、驱动程序和工具一应俱全)就这么容易。

或者更确切地说,在过去就是这么容易。 Linux Mint 6(“Felicia”)安装和使用起来那种感觉棒极了。但是就后续版本而言,繁人的问题渐渐出现。一些版本楞是识别不了打印机、声卡或无线网络,压根用 户采取单调乏味的变通办法。最近,显卡驱动程序成了用户抱怨的另一个根源。节电特性在一台笔记本电脑上用得好好的,但是到了另一台笔记本电脑上,就是不管 用。事实证明,有几个版本非常靠不住,还不如把它们删掉,回过头来继续使用比较旧、比较稳定的版本来得容易。

最新的版本:Linux Mint 12(“Lisa”)是迄今最令人扫兴的版本。上个周末,本报记者把大量的时间耗在了设法让该最新版本在一台一向表现稳定的机器上运行。但是Linux Mint不是唯一饱受诟病的。Ubuntu一直被还要严重的问题所困扰。现在看来,软件标准方面的这种日益退步好像在开始妨碍面向桌面的所有Linux发 行版。

Ubuntu存在的问题似乎很典型。至少在一定程度上,这些问题根源于开发人员试图让桌面版本更加吸引非技术用户的方式。就像苹果针对面向Mac计 算机的OS X操作系统采取的做法那样,Ubuntu也在桌面设计方面采取了“我们最清楚”(we know best)的做法,为用户在更改界面的外观感觉方面提供了越来越少的自由。在最近这个版本中,Ubuntu用户要么得到设计力求简约的Gnome 3版本的用户界面,要么得到专有的类似iPad的界面,名为Unity。两者都让许多长期以来的Ubuntu用户抓狂。连Linux之父林纳斯•托瓦兹 (Linus Torvalds)也特别点名Gnome 3“简直搞得一团糟”,对它毫不留情地抨击了一番。

与此同时,Linux Mint 12的默认界面是Gnome 3或定制版本的Gnome 2(名为MATE)。两者都没有获得如潮的好评。对于入门者来说,Ubuntu和Linux Mint也都使用久负盛名的KDE界面。许多人认为KDE的界面不大直观,但是就个人的要求而言改动和调整起来却要容易得多。

话虽如此,连最新的KDE发行版也证明作为Gnome版本来安装完全一样让人恼火。本报记者归咎于快速的升级周期:因而使得太多的功能特性不够完 善,太多的驱动程序和实用工具不可靠,以及内核中太多未经检查的回归(变更引起的软件缺陷)。所有那些Linux开发人员现在似乎都想添加很酷的新功能, 而不是解决现有的软件缺陷,让软件更易于使用。

这些年来,Linux已变成了一个难看的庞大系统,建立在成千上万个计算机代码程序包的基础上,它们完全生硬地拼凑起来。与之形成对照的是,苹果和 谷歌对各自面向平板电脑和手机的类似Unix和Linux的操作系统实施了严格的质量保证。两者都依赖100个左右的严密集成的核心程序包,这些核心程序 包在回归和不一致性方面已经过认真的审查。较之于Linux,iOS和安卓这两款操作系统异常简洁、可靠。由于底层软件的质量得到了有力保障,难怪广大开 发人员能够为这两种平台开发出成千上万优秀的应用程序。

与此同时,称Linux消亡的说法过分夸大了。自然,Linux爱好者继续认为这款免费操作系统有着美好的未来——特别提到Linux的安装份额占 1%(相比之下,Mac占7%,Windows占92%)。不过值得一提的是,Linux在十年前就占有约2.5%的安装份额。虽然Linux的服务器版 本越来越为人们所接受,桌面版本却似乎不受大家的待见。

想在桌面端取得成功,Linux就必须渗透到办公室。遗憾的是,没有哪一款Linux发行版能够与Windows 7正面较量。出现在世人面前的而是四分五裂的市场:上百种不同的Linux版本,每种版本都有各自的学习曲线、技能组合和维护要求。连五大发行版 (Linux Mint、Ubuntu、Fedora、openSUSE和Debian)也都无法足够广大的用户群来吸引足够的支持。

桌面Linux问题就出在这里。爱好者和发烧友也许愿意投入自己的时间和精力,确保桌面Linux顺利运行。但是企业界耗不起这样的时间和精力。在 企业领域,最大的单笔计算成本其实并不是软件许可证,而是支持人员的薪水。而至于许可费,最大的单笔成本无疑不是用于操作系统,而是用于企业应用软件。

在这种情况下,系统管理员们做出了合理的举措:他们在每一个办公桌上安装了Windows机器,向微软支付许可费,可以高枕无忧,因为知道有许多维 修人员来确保自己的大批Windows机器顺畅运行。本报记者把太多的时间耗费在了桌面端Linux上,他也准备安装桌面端Windows。现在就等着 Linux死党扔板砖了……