PostgreSQL Yesterday, today and tomorrow - Free Software Database PostgreSQL Introduction V2.0 Preface Today, if people talk about computer operating systems, there must be a lot of people who will benefit free software operating system Linux, after all, everyone picks up firewood Now no one dares to ignore the Linux this free software operating system in our planet, even if there is a special environment in China, there are constantly a variety of Linux show to make the public, even those who know it. Less people can realize the presence of Linux. However, if we talk about the database, most people may only remember to have Oracle, IBM DB2, INFORMIX, SYBASE, MS SQL Server, and a lightweight mysql used in the Internet, and mentioned the name of PostgreSQL, possibly Many people will frowns: "What is this?" "PostgreSQL is a very comprehensive free software object-Relational Database Management System (ORDBMS), which is the predecessor of today's business databases" - - From the PostgreSQL manual. In order to let everyone know about PostgreSQL, listen to my fine way. History is in the famous door to talk about PostgreSQL, we have to talk about Berkeley, which is the famous university of "California University Berkeley Branch". Honestly, Berkeley (BSD) contribution to computer science can be described as huge, and in the history of the development of the entire computer science, there are almost everywhere in the student's footprints. As long as people who have some memories of computer technology history will remember the components of the three words of BSD on the landmark of the UNIX operating system, maybe because BSD is too dazzling in the system and network field, covering BSD to computer. The contribution of other branches, while PostgreSQL is one of them. Genesis - Ingres chasing the source, PostgreSQL begins in the BSD Ingres project, this project is mainly to study relational database technology, as early as EF CODD, EF CODD, has proposed a relationship model, from that, human beings in the computer field Data management has entered a new period. Since then, people have begun to describe their own data with abstract relationship statements, greatly improves the abstract description capabilities of human pairs. The Ingres project was in this way, it started in 1977, and in 1985, the results of its research were later taken by a commercial company called Relational Technologies, and later this company was computer associates. (CA) acquisition, don't know if the CA's Jasmine still has the shadow of INGRES? New Project - Postgres Then, from 1986, Professor Michael Stonebraker, BSD led the "post-Ingres" project called Postgres, the main purpose is to have more advanced research in the database management system, and therefore produced directly, the frontgreSQL, Postgres, and PostgreSQL's names are also inherited from the Postgres project.
The results of this project are very huge, a large number of contributions made in many ways in modern databases, such as object-oriented databases, partial indexing technologies, rules, processes, and database extensions, are in the database management system. The forefront. Moreover, Professor Stonebraker has made a benefit of all human beings. That is to put postgres under the protection of BSD copyright, in this copyright, anyone can almost do anything, including enhance it and commercialization Wait. Conditions are just the copyright statement of the BSD, including in the source of the software. Postgres released the first version in 1989, because it is BSD copyright, so it is soon widely used in various research institutions and some public service organizations, because many users make Postgres development more maintenance code and The patch is increasingly deviating from the objective of the original database management system. In 1994, Postgres was officially terminated at version 4.2. Many of Postgres are converted into a commercial company Illustra, and later Illustra was acquired by Informix. Seeing this, I want everyone to know about the influence of Postgres. The contribution of the Yellow Endshertess - Postgres95Postgres did not stop developing because of the termination of the Postgres project, but a new job: In 1994, two Berkeley graduate students add modern SQL language to postgres support. Please don't be strange, SQL's ancestors are E.F. CODD's relationship model, but SQL as a language, until 1992 to form a real international standard (or draft), it is called SQL2, but people are often known as SQL92. Before that, inquiry language is implemented by different database management systems. For example, in Postgres, it is called a Query language called Postquel; these two graduate students are Andrew Yu and Jolly Chen, read the name, everyone It may be thinking: "It's very similar to the Chinese name", it's right, they are black-haired yellow skin, but it is unfortunately they have achieved such achievements in China (including Taiwan) XX University. . In this way, Postgres ushered in 1995, probably being "inspired" by the name method of xxxxxx95, and they both named this version of Postgres POSTGRES95 and continue to release several versions, enhanced some features. Internationalized --PostgreSQL in 1996, Andrew Yu and Jolly Chen have taken the development team of Postgres95, (Andrew YU joined Informix, Jolly Chen continued to study), and under some free software hackers (Note 1), Postgres project I started a new process, first initiated several Canadian hackers, starting a PostgreSQL project, and more and more people participating, gradually developing a group consisting of nearly forty hackers in nearly 20 countries. Free software project. PostgreSQL re-put the version number in the order of the original Postgres project, starting from 6.0 (postgres itself to 4.0, postgres95).
After more than five years of collaboration, PostgreSQL can be said to be the most advanced, most powerful free software database management system in the world. Currently, PostgreSQL's stable version of 7.3 has a very rich feature and quality of business-grade database management systems. The upcoming 7.4 version will be a leap, and will take a step toward the direction of the high-quality large database management system. Here, let me tell you how to think about PostgreSQL (indeed a very winding): post-gres-q-l, probably because most free software developers do SQL read: S-Q-L, rather than IBM often said (Squel). Features PostgreSQL can be said to be the most distinctive free database management system, and even we can also be said to be the most powerful free software database management system. In fact, PostgreSQL features cover SQL-2 / SQL-92 and SQL-3 / SQL-99, first, it includes it can be said to be the most abundant data type in the world, some of which can be said The commercial database is not available, such as IP type and geometric type, etc .; Second, PostgreSQL is a full-featured free software database. For a long time, PostgreSQL is the only support system, subquery, multi-version parallel control system, data integrity check, etc. The only free software database management system for characteristics. Until recently had INTERBASE and SAP and other manufacturers have broken this unique after opening its original proprietary software to free software. Finally, PostgreSQL has a very active development team. The current submission has exceeded 30 people, and under many hackers' efforts, PostgreSQL's quality is increasing, and people from another side add people to use PostgreSQL confidence, After all, the database management system cannot be satisfied with the desktop operating system, and people feel very satisfied :-P. From a technical point of view, PostgreSQL uses a classic C / S (Client / Server) structure, that is, a client corresponding to a server-side daemon mode, this daemon analysis client's query request, generate planning Tree, perform data retrieval and finally returns the result to the client after returning to the client. In order to facilitate the writing of the client's program, a unified client C interface is provided by the database server. Different client interfaces are derived from this C interface, such as ODBC, JDBC, Python, Perl, TCL, C / C , ESQL, etc., but also point to the support of PostgreSQL on the interface is also very rich, almost Support all types of database client interfaces. This can also be said to be a great advantage of PostgreSQL. Finished, you can't say a few shortcomings, you can't biarize PostgreSQL because it is free software, starting from Postgres, postgreSQL has experienced multiple changes. First of all, early postgreSQL inherited almost all Ingres, postgres, postgres95 problem: too learning, because first it's the purpose of database research, no matter whether it is stability, performance or convenient use, it has not received it for a long time, until After the PostgreSQL project begins, the situation is getting better and better. Currently, PostgreSQL has fully qualified in any of the range of applications within any medium scale.
At present, the size of the production database has the amount of data of the TB, and has approached the limit of 32-bit calculations. However, the school has also brought an unexpected benefit to PostgreSQL: probably because of the difference in the hardware and software environment of universities, it is a kind of database management system that currently supports the most database management system, which supports more than ten platforms. Species, including different systems, different hardware systems. To date, it still maintains the title of the database management system that supports the most support platform. Secondly, PostgreSQL does still lack some features needed by high-end database management systems, such as online hot backup, database clusters, better management tools and more automated system optimization functions to improve database performance mechanisms. However, if you come back, PostgreSQL has extremely powerful extension capabilities, you can easily extend data types, internal functions, gathering, operators, etc., and don't forget, don't forget, you have all source procedures, theoretical you can do Anything you can do. Therefore, many disadvantages, it will disappear between transstals.
All in all, PostgreSQL's characteristics can fully meet the needs of users, and their quality and characteristics are still progressing in the sunny day, so we have reason to believe in in the near future, postgresql will definitely become an excellent, free Alternative products for commercial databases. There are too many people who make great contributions to PostgreSQL. I can only pick it on this one. First, Berkeley, as a college, I should not enter the category of characters, but if there is no BSD's excellent The academic environment, creating such excellent scientific and technical achievements is impossible, as long as we think about our more than 5,000 research units can understand. (I should still thank the United States here .:-P). Then, Professor Michael Stonebraker is the great idea to make this outstanding scientific and technological achievements to the public, even to our hands of "free opposite", and all things, not just a bunch of binaries. . Next, we have our compatriots, Andrew Yu and Jolly Chen, and they have made great contributions to PostgreSQL to modern times. Finally, it is now hard-working hackers, which makes an indelible contribution to PostgreSQL's increasing contribution to the increasing spirit of their persistent spirit and superb technology. There are dozens of people in total, I have to pick up the core members to introduce, and for other important hackers who contribute more code, I have to bought them for a while. If there is a chance, I will further introduce them. Tom Lane: Electronics Engineering Ph.D (Doctoral) of a Carnegie Mellon University, is a very important developer of PostgreSQL, and its footprints all the corners of PostgreSQL, which can be said to POSTGRESQL performance and stability. And the property of characteristics has an extremely important contribution. Before starting to participate in the PostgreSQL project, he has more than ten years of free software development experience. It can be said to be the old free software programmer; Vadim Mikheev: A hacker from Russia, It is characterized by a special project, such as subquery inside V6.3, multi-version parallel control inside V6.5, and the pre-written log system inside 7.1, can be said to be PostgreSQL pioneers; Jan Wieck: one The hacker from Germany has more than ten years of database development experience. It was originally working for large software vendors such as SAP, and later joined PostgreSQL development; he also liked a big project, but interest is the characteristics of the client, such as foreign key, some process Languages such as PL / PGSQL, etc., the part of the CLOB (text large object) in version 7.1 is also his work. THMAS LOCKHART: A hacker who graduated from the CTA Institute of Technology, mainly responsible for documentation and several data types (especially with time-related types), SQL syntax standard consistency, time type, and integrity constraints. Bruce Monjian: From the United States, there are some documents and project coordination, as well as many integrity constraints and standards of SQL syntax, such as Outer Join, while maintaining Todo lists and FAQ.
Marc Fournier: Canadian hackers, main coordinators, maintenance sites, mailing lists, and release versions. Peter Eisentraut: Germany / Swedish hacker, mainly responsible for documentation, perfect, certification, and authority management, production scripting and some management configuration interfaces, and client interaction tool PSQL, etc., its role is increasing, can be said to development in version 7.2 It is an indispensable person during the process. There is also a large number of hackers from Europe, Australia and Asia (Japan). In fact, there are more and more hackers' role becoming increasingly important, and there are various patchs from different hackers every day in the matrix list. Therefore, the characteristics of free software are, as long as they are willing, anyone can have sufficient impact on it. That is, our fate is truly in his own hands. Looking forward to the current situation, PostgreSQL's prospects are very good. The current stable version is 7.3. This version has made a lot of improvements and improved on the basis of the 7.2 version. 7.1 is another huge change after 6.5, and she first introduces the function of the pre-written log. In this way, the transaction has a sound log mechanism that provides better performance, as well as the ability to achieve better backup and disaster recovery (such as online thermal backup and automatic recovery after the downtime). Secondly, the length of the data segment of the text type is no longer restricted, and it is largely solved the problem of the large object of PostgreSQL. Especially in the prevalence of today's WEB applications, this feature almost immediately puts PostgreSQL to competition with all other types of databases. Moreover, there is further improvement in the SQL standard, such as the support of Outer Join, etc. 7.2 Version of 7.1 improves the procedure of the original database regular cleanup work, so that database maintenance does no longer affect the normal use of the database, and enhances the intelligence of query optimization, making the database more accurate use of indexes; At the same time, it also eliminates the restrictions on the number of maintenance transactions of each mounting node; internationalization; and there are also a large number of other enhancements. 7.3 On the basis of version 7.2, there are many features, including the user functions that can return result sets, mode (Schema) support, prepared query planning, support, and Vacuum optimization, better Query planners, better authority management systems, etc. The 7.3 version has been fully certified and a large number of applications in many reality projects. Marks PostgreSQL officially become one of the mainstream database products. In the future 7.4 version, we are expected to see reuse of the index space, optimize the IN clause (everyone does not have to worry about in the harsh performance), the new front-rear end protocol, better aggregation function. It is even possible to provide Windows local graft versions and Pitr (instant recovery) with considerable thermal backup features and many people look forward to the features of the table space. It can be said that 7.4 will be a real high-end database that is completely qualified for 7x24 application needs, a database with an enterprise-level application.
What reasons have we not cheered? After the report as a database management system, PostgreSQL is not like Linux, which is a rapidly acknowledgment. This is understandable that Tom Lan has said: "First, commercial database The system is not like some commercial operating systems. On the contrary, the quality of the commercial database system is still very high. Compared with the case, PostgreSQL still has a gap "but also," We also believe "we have reached business-grade database system Quality ... "Indeed, the development of free software has jumping, because developers mostly use the spare time to develop, when the developer gathers, the new thing can be added at once; During the low tide of the free software, because the developers may have a long period of time, there will be new activities with the development of society. That is, a spiral increase. Therefore, we must have a little bit: Believe yourself and rely on yourself, because the development of free software does require every fan to give full play to your intelligence, while only free software will provide you This opportunity - relying on your own strength to change your own destiny. Finally, only this, the light of free software can really shine our world. Appendix Reference History http://www.daemonnews.org/199907/devhistory.htmlhttp://www.postgresql.org/osdn/history.pdfhtp://www.postgreSQL.org/osDN/tour.pdf Features http: //www.postgresql.org/idocs/http://www.pgsqldb.com/pgsqldoc-7.2c/index.html Note: 1, the hacker in this article originates from English Hacker, refers to the computer's pointers, And all human creators have contributed, not the "hacker" concept on the general media, that is, Cracker, is destroyed. Author: He Weiping laser (at) pgsqldb (dot) org laser (at) zhengmai (dot) com (dot) cn Note: If you want to reprint please indicate the source and author www.pgsqldb.org or laser.zhengmai.com.cn