为什么选择Postgres95 作为基础版本开发国产数据库

网友投稿 290 2023-11-25

    在1994年,Andrew Yu和Jolly Chen为POSTGRES添加了一个SQL语言解释器。生成了一个新的名字下,Postgres95随后发布到网络上,作为原始POSTGRES Berkeley代码的开源后代,在世界上找到了自己的道路。

为什么选择Postgres95 作为基础版本开发国产数据库

    Postgres95的代码完全是ANSI C语言,代码数量降低了25%左右。许多内部调整改进了性能和可维护性。在Wisconsin 基准测试中,与POSTGRES 4.2版本的比较,Postgres 95 1.0.x 版本运行速度提升了30-50% 。次版本除了bug修复之外,还有以下增强:

第一:查询语言PostQUEL被SQL(在服务器中实现)所取代。(接口库libpq是以PostQUEL命名的。)直到PostgreSQL才支持子查询,但在Postgres95中可以通过用户定义的SQL函数来模仿子查询。重新实现了聚合函数。还添加了对GROUP BY查询子句的支持。

第二:提供了一个用于交互式SQL查询的新程序(psql),它使用GNU Readline。这在很大程度上取代了旧的监视器程序。

第三:为交互式SQL查询提供了一个新程序(psql),它使用GNU的一个新的前端库libpgtcl,支持基于tcl的客户机。一个示例shell pgtclsh提供了新的Tcl命令来将Tcl程序与Postgres95服务器连接起来。

第四:对大对象接口进行了彻底修改。反转大对象是存储大对象的一个机制。

第五:删除了实例级规则系统。规则仍然可以作为重写规则使用。

第六:一个介绍常规SQL特性以及Postgres95特性的简短教程随源代码一起发布

第七:构建使用了GNU make(而不是BSD make)。此外,Postgres95可以使用未打补丁的GCC进行编译(修复了双精度的数据对齐)。

待解问题:

从上面我们知道选择Postgres 95是由于从这个版本开始有大的改进算是当前PG的初始化版本,但为什么不选择最新的或者当前最稳定的版本?

原文:

Postgres95

In 1994, Andrew Yu and Jolly Chen added an SQL language interpreter to POSTGRES. Under a newname, Postgres95 was subsequently released to the web to find its own way in the world as an opensource descendant of the original POSTGRES Berkeley code.

Postgres95 code was completely ANSI C and trimmed in size by 25%. Many internal changes improved performance and maintainability. Postgres95 release 1.0.x ran about 30–50% faster on the Wisconsin Benchmark compared to POSTGRES, Version 4.2. Apart from bug fixes, the following were the major enhancements:

• The query language PostQUEL was replaced with SQL (implemented in the server). (Interface library libpq was named after PostQUEL.) Subqueries were not supported until PostgreSQL (see below), but they could be imitated in Postgres95 with user-defined SQL functions. Aggregate func-tions were re-implemented. Support for the GROUP BY query clause was also added.

• A new program (psql) was provided for interactive SQL queries, which used GNU Readline. This

largely superseded the old monitor program.

• A new front-end library, libpgtcl, supported Tcl-based clients. A sample shell, pgtclsh, provided new Tcl commands to interface Tcl programs with the Postgres95 server.

 The large-object interface was overhauled. The inversion large objects were the only mechanism for storing large objects. (The inversion file system was removed.)

• The instance-level rule system was removed. Rules were still available as rewrite rules.

• A short tutorial introducing regular SQL features as well as those of Postgres95 was distributed with the source code

• GNU make (instead of BSD make) was used for the build. Also, Postgres95 could be compiled with an unpatched GCC (data alignment of doubles was fixed).

该内容来自:PostgreSQL 15.3 Documentation

来自 “ ITPUB博客 ” ,链接:http://blog.itpub-/26342786/viewspace-2963378/,如需转载,请注明出处,否则将追究法律责任。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql5.7如何修改root密码
下一篇:mysql如何转换为sqlite
相关文章

 发表评论

暂时没有评论,来抢沙发吧~