1.1.PostgreSQL 是什么?该怎么发音?
PostgreSQL 读作 Post-Gres-Q-L,有时候也简称为Postgres 。
PostgreSQL 是面向目标的关系数据库系统,它具有传统商业数据库系统的所有功能,同时又含有将在下一代 DBMS 系统的使用的增强特性。PostgreSQL 是自由免费的,并且所有源代码都可以获得。
PostgreSQL 的开发队伍主要为志愿者,他们遍布世界各地并通过互联网进行联系,这是一个社区开发项目,它不被任何公司控制。
1.2. 谁控制PostgreSQL?
如果你在寻找PostgreSQL的掌门人,或是什么中央委员会,或是什么所属公司,你只能放弃了---因为一个也不存在,但我们的确有一个 核心委员会和CVS管理组,但这些工作组的设立主要是为了进行管理工作而不是对PostgreSQL进行独占式控制,PostgreSQL项目是由任何人均 可参加的开发人员社区和所有用户控制的,你所需要做的就是订阅邮件列表,参与讨论即可(要参与PostgreSQL的开发详见 开发人员常问题 (Developer's FAQ) 获取信息)。
1.3.PostgreSQL的版权是什么?
PostgreSQL的发布遵从经典的BSD版权。它允许用户不限目的地使用PostgreSQL,甚至你可以销售PostgreSQL而不含源代码也可以,唯一的限制就是你不能因软件自身问题而向我们追诉法律责任,另外就是要求所有的软件拷贝中须包括以下版权声明。下面就是我们所使用的BSD版权声明内容:
PostgreSQL数据库管理系统
部分版权(c)1996-2005,PostgreSQL 全球开发小组,部分版权(c)1994-1996 加州大学董事
(Portions copyright (c) 1996-2005,PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California)
允许为任何目的使用,拷贝,修改和分发这个软件和它的文档而不收取任何费用, 并且无须签署因此而产生的证明,前提是上面的版权声明和本段以及下面两段文字出现在所有拷贝中。
在任何情况下,加州大学都不承担因使用此软件及其文档而导致的对任何当事人的直接的, 间接的,特殊的,附加的或者相伴而生的损坏,包括利益损失的责任,即使加州大学已经建议了这些损失的可能性时也是如此。
加州大学明确放弃任何保证,包括但不局限于某一特定用途的商业和利益的隐含保证。 这里提供的这份软件是基于“当作是”的基础的,因而加州大学没有责任提供维护,支持,更新,增强或者修改的服务。
(THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.)
1.4.PostgreSQL 可以运行在哪些操作系统平台上?
一般说来,任何现在对 UNIX 兼容的操作系统之上都能运行PostgreSQL 。在安装指南里列出了发布时经过明确测试的平台。
PostgreSQl也可以直接运行在基于微软Windows-NT的操作系统,如Win2000 SP4,WinXP 和 Win2003,已制作完成的安装包可从 http://pgfoundry.org/projects/pginstaller下载,基于MSDOS的Windows操作系统 (Win95,Win98,WinMe)需要通过Cygwin模拟环境运行PostgreSQL。
同时也有一个为Novell Netware 6开发的版本可从 http://forge.novell.com获取,为OS/2(eComStation)开发的版本可从 http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F 下载。
1.5.我从哪里能得到PostgreSQL?
通过浏览器可从http://www.postgresql.org/ftp/下载,也可通过FTP,从 ftp://ftp.PostgreSQL.org/pub/站点下载。
1.6.最新版的PostgreSQL是什么?
PostgreSQL 最新的版本是版本 8.3。
我们计划每年发布一个主要升级版本,每几个月发布一个小版本。
1.7.我从哪里能得到对PostgreSQL的支持?
PostgreSQL社区通过邮件列表为其大多数用户提供帮助,订阅邮件列表的主站点是 http://www.postgresql.org/community/lists/,一般情况下,先加入General 或 Bug邮件列表是一个较好的开始。
主要的IRC频道是在FreeNode(irc.freenode.net)的#postgresql,为了连上此频道,可以使用UNIX程序irc,其指令格式: irc -c '#postgresql' "$USER" irc.freenode.net ,或者使用其他IRC客户端程序。在此网络中还存在一个PostgreSQL的西班牙频道(#postgersql-es)和法语频道 (#postgresql-fr)。同样地,在EFNET上也有一个PostgreSQL的交流频道。
可提供商业支持的公司列表可在http://techdocs.postgresql.org/companies.php浏览。
1.8.我如何提交一个BUG报告?
可访问 http://www.postgresql.org/support/submitbug,填写Bug上报表格即可,同样也可访问ftp站点ftp://ftp.PostgreSQL.org/pub/ 检查有无更新的PostgreSQL版本或补丁。
通过使用Bug提交表格或是发往PostgreSQL邮件列表的Bug通常会有以下之一回复:
所提交内容不是一个Bug及其不是Bug的原因。
所提交内容是一个已知的Bug并且已经加入TODO待处理任务列表。
所提交的Bug已在当前版本中被修正。
所提交的Bug已修正但尚未将补丁加入现在的发布软件包。
请求提交者提供更详细的信息:
操作系统
PostgreSQL版本
可重现Bug的测试案例
调试信息
调试跟踪输出
所提交内容是一个新Bug,将执行以下工作:
创建一个新补丁并将其加入下一个主要版本或是小的改进版本中。
此Bug暂时不能修正,将被加至TODO待处理任务列表。
1.9 我如何了解已知的 BUG 或暂缺的功能?
PostgreSQL 支持一个扩展的 SQL:2003 的子集。参阅我们的TODO 列表,了解已知Bug列表、暂缺的功能和将来的开发计划。
要求增加新功能的申请通常会收到以下之一的回复:
该功能已加入TODO待处理任务列表。
该功能不是必须的,因为:
它是现有的且符合SQL标准的某功能的重复。
该功能性会大大增加代码的复杂程序,而带来的好处是微不足道的。
该功能是不安全或是不可靠的。
该功能将被加入TODO待处理任务列表。
PostgreSQL不使用Bug跟踪系统,因为我们发现在邮件列表中直接回复以及保证TODO任务列表总是处于最新状态的方式工作效率会更高一些。事实上,Bug不会在我们的软件中存在很长时间,对影响很多用户的Bug也总是很快会被修正。唯一能找到所有改进、提高和修正的地方是CVS的日志信息,即使是在软件新版本的发布信息中也不会列出每一处的软件更新。
1.10.能够获取的最新文档有哪些?
PostgreSQL包含大量的文档,主要有详细的参考手册,手册页和一些的测试例子。参见 /doc 目录(译注:应为 $PGHOME/doc)。 你还可以在线浏览PostgreSQL的手册,其网址是:http://www.PostgreSQL.org/docs。
有两本关于PostgreSQL的书在线提供,在 http://www.PostgreSQL.org/docs/awbook.html 和 http://www.commandprompt.com/ppbook/ 。 也有大量的PostgreSQL书籍可供购买,其中最为流行的一本是由Korry Douglas编写的。在 http://techdocs.PostgreSQL.org/techdocs/bookreviews.php上 上有大量有关PostgreSQL书籍的简介。 在 http://techdocs.PostgreSQL.org/上收集了有关PostgreSQL的大量技术文章。
客户端的命令行程序psql有一些以 \d 开头的命令,可显示关于类型,操作符,函数,聚合等信息,使用 \? 可以显示所有可用的命令。
我们的 web 站点包含更多的文档。
1.11.我应该怎样学习SQL?
首先考虑上述提到的与PostgreSQL相关的书籍,另外一本是Teach Yourself SQL in 21 Days, Second Edition,其详细介绍的网址是 http://members.tripod.com/er4ebus/sql/index.htm, 我们的许多用户喜欢The Practical SQL Handbook, Bowman, Judith S. 编写,Addison-Wesley公司出版,其他的则喜欢 The Complete Reference SQL, Groff 编写,McGraw-Hill公司出版。
在下列网址上也有很好的教程,他们是:
http://www.intermedia.net/support/sql/sqltut.shtm
http://sqlcourse.com.
http://www.w3schools.com/sql/default.asp
http://mysite.verizon.net/Graeme_Birchall/id1.html
1.12.如何提交补丁或是加入开发队伍?
详见开发人员常见问题 (Developer's FAQ) 。
1.13.PostgreSQL和其他数据库系统比起来如何?
评价软件有好几种方法:功能,性能,可靠性,支持和价格。
功能
PostgreSQL 拥有大型商用数据库最多的功能,例如:事务,子查询,触发器,视图,外键参考完整性和复杂的锁定等。 我们还有一些它们没有的特性,如用户定义类型,继承,规则和多版本并行控制以减少锁的争用等。
性能
PostgreSQL和其他商用和开源的数据库具有类似的性能。对某些处理它比较快,对其他一些处理它比较慢。 与其他数据库相比,我们的性能优劣通常在 +/- 10%之间。
可靠性
我们都知道数据库必须是可靠的,否则它就一点用都没有。我们努力做到发布经过认真测试的,缺陷最少的稳定代码。每个版本至少有一个月的 beta 测试时间,并且我们的发布历史显示我们可以提供稳定的,牢固的,可用于生产使用的版本。我们相信在这方面我们与其他的数据库软件是相当的。
支持
我们的邮件列表提供一个非常大的开发人员和用户的组以帮助解决所碰到的任何问题。我们不能保证总是能解决问题,相比之下,商用数据库软件也并不是总能够提供解决方法。 直接与开发人员,用户群,手册和源程序接触使PostgreSQL的支持比其他数据库还要好。还有一些商业性的全面技术支持,可以给提供给那些需要的人。(参阅1.7 小节)
价格
我们对任何用途都免费,包括商用和非商用目的。 你可以不加限制地向你的产品里加入我们的代码,除了那些我们在上面的版权声明里声明的 BSD版权之外的内容。
1.14.PostgreSQL可以处理最近各个国家夏时制的变化吗?
PostgreSQL 8.0之前的版本是使用操作系统中的时区数据库来处理夏时制的信息,自8.0版及以后的版本PostgreSQL会自身含有最新的时区信息.