PostgreSQL is a robust, next-generation, Object-Relational DBMS (ORDBMS), derived from the Berkeley Postgres database management system. “PostgreSQL is one of the best-managed open source projects out there” a friend-in-the-know told me about 2 years ago, so today we feature a mini-interview with five members of the PostgreSQL team about their plans on the popular DB.
Bruce = Bruce Momjian, major PostgreSQL developer.
Neil = Neil Conway, major PostgreSQL developer.
Robert = Robert Treat, Advocacy volunteer and editor of the PostgreSQL Weekly News newsletter.
Josh = Josh Berkus, PostgreSQL Advocacy volunteer.
1. What’s the latest news regarding replication on PostgreSQL?
Bruce: We have several master-slave solutions, and are working on multi-master for the release after next.
Robert: Also, PostgreSQL Inc. has recently teamed up with Lanux Limited to offer a high-availability solution.
2. What about clustering, load balancing and nested transactions?
Bruce: We have none of those, but we might have nested transactions this summer. Clustering and load balancing are part of multi-master replication.
3. How do you view your competition in the free RDBMS market, that includes mSQL, mySQL, sapDB and Firebird? Which features does PostgreSQL still lacks that some of these DBs have and which features PostgreSQL has today that these DBs doesn’t?
Josh: You have me at a bit of a disadvantage, since I’m used to comparing PostgreSQL to proprietary-commercial databases, who I regard as our “real” competition. I don’t know that much about SAP-DB and Firebird beyond their literature on their websites.
The only features that we lack which some other FOSS databases have are the ones you mention in questions 1 & 2. Oh, and our native Windows version is due out this summer.
Fortunately, we have a *lot* of features that the other FOSS databases don’t have. These include:
— Very high level (90%?) of ANSI SQL 92/99 compliance and implementation, and getting better with each point release.
— SQL SCHEMA, which I believe that only SAP DB has among those mentioned.
— Extensive support of business logic building in the database, including Triggers, Rules, Functions, Views, and custom Constraints. While some of the other FOSS databases have some of these elements, none of them has the breadth and depth of support for all avenues of database automation and data integrity that PostgreSQL does. For example, I believe that we have the only RDBMS that allows writing functions and procedures in 7 programming languages.
— And, paramount: our built-in-the-database extensibility, including custom Aggregates, Operators, Data Types, Domains, Functions, and other elements of Stonebreaker-style ORDMBS extensibility. This seminal element of our design philosophy has already given us some community-contributed constructs that no other database, FOSS or commercial, has, such as our set of Networking data types and operators, or PL/R for advanced statistical analysis.
Robert: Don’t forget the PostGIS project for Open GIS implementation.
4. The most popular of your competitors, mySQL, surely moves very fast in advancements and version 5 is expected next year. What are the plans for the next big version of PostgreSQL and how do you plan on coupling their advancements?
Josh: In terms of features MySQL isn’t adding anything that PostgreSQL doesn’t already have, and hasn’t had for years. We had transaction support 10 years before MySQL, mainframe ports 2 years before MySQL, and support for all types of subselects for the last 2 years, which MySQL still doesn’t have working.
Robert: MySQL used to be faster than PostgreSQL across the board, but we’ve erased that difference and now it’s only faster in certain corner cases at lower load levels.
Josh: The only things that MySQL has that we don’t are ease of database admin for simple databases, which is something we’re gradually incorporating, and a native Windows port, which we’ll have this summer.
Oh, and they have a paid marketing department, which I suppose gives them a certain edge (*wry grin*).
5. What innovations this decade have to offer to the database technology in general? What kind of features that no RDBMS has today are you thinking that would be great to have in the future?
Neil: POSTGRES was originally conceived as an academic research project into ORDBMS technology, so we already have some experimental features that other database systems either don’t have, or have only recently implemented (for example, inheritance, query rewriting and user-defined data types). More recently, the PostgreSQL development team has been more focused on providing a better production-quality RDBMS implementation, rather than working on implementing additional experimental features. Once most of this work has been finished (and we’ve done a lot already), I think there will be more interest in adding additional exotic
That said, there are also projects that use PostgreSQL for their own ends, to implement some interesting and often unique functionality. Two examples are the Telegraph project at Berkeley, and the PostGIS project.
Josh: Personally, I don’t expect any flashy new database features or theories in the next decade. We’ve had a SQL specification since 1989, but up until recently it was more of a “holy grail” and not something one expected to actually follow due to hardware and software limitations in databases. Now the tech has finally caught up, and we have a chance to really exercise all of the ideas contained in the relational model and the SQL spec, in order to build really good databases. It’s an era of refinement rather than one of sweeping innovation.
Now, I do expect that object and OODBMSs will refine themselves and develop an open standard within the next decade, so they can become commercially viable as an alternative approach to data storage. But I also tend to think that the creators of OODBMSs will find that they are useful for *very* different things than those for which RDBMSs have traditionally been used.
6. Are you planning a “native” Windows port for PostgreSQL (not through Cygwin that is)? If yes, are there plans for a C# programming interface?
Josh: The native Windows port is due this summer. While we’re unlikely to adopt C# for the database itself, I’d be very surprised if some member of our community *doesn’t* add C# as a function-writing language.
Robert: Plus we already have a .net data provider project for connecting to PostgreSQL via .Net.