Monday, April 01, 2013

Confronting The Big Issues

In the last few years, PostgreSQL has added a number of impressive new features, such as built-in replication (both synchronous and asynchronous), SQL/MED foreign tables (which, in the forthcoming 9.3 release, will also support writes), per-column collation support and in-place upgrade. There are have also been so fairly major performance improvements and a host of new smaller features. While all of this progress is impressive, it is clear that too little time and energy has been spent confronting the project's biggest weakness: its unpronounceable name.

As Wikipedia helpfully explains, PostgreSQL's ancestor was the INGRES project of the University of California at Berkeley. INGRES stands for "interactive graphics retrieval system", but hackers like plays on words, so after a decent amount of hacking on that code had been done, some wit thought it would be a fine idea to replace the prefix "in" with "post", to connote that the project had gone beyond Ingres. Furthermore, since the system was modified to support SQL, some other wit decided it would be a good idea to replace the last syllable (but only half of it) with the name of the query language it now supported. Fortunately, we're moving away from that, but that's how we ended up the name PostgreSQL which, as you can now understand, stands for "beyond the graphics retrieval structured query language".
It has occasionally been suggested that we go back to just Postgres. This fails to solve the problem. First, despite the core team's decision not to officially rename the project, everybody calls it Postgres anyway. Second, I get the same reaction when I call it Postgres that I do when I call it PostgreSQL: huh, what was that again? So I just tell people I work on a database. Then they ask me what a database is.

Anyway, I think that it's clear that after 15 years of being PostgreSQL, we've come a long way, and it's time for a new name. We're surely as much a successor to the original PostgreSQL as it was to INGRES, so maybe we could clarify things by calling today's product PostgreSQLSequel.

Alternatively, and in keeping with our long traditional of verbal cleverness, maybe we should start look at replacing that annoying prefix "post", which always tricks people into calling it Prostgres. Since PostgreSQL is now much more suitable for enterprise environments than every before, we could go with ProgresSQL. Or, since since PostgreSQL offers a number of advanced features such as Serializable Snapshot Isolation (SSI) that are not simply best-in-class but unique to our product, we could very well view ourselves as inventing the DBMS anew. What better name to convey that concept than RegresSQL, or simply "Regress"?

I think we're probably twice the database that the original PostgreSQL was. So another possibility would be DigresSQL, or simply Digress. Actually, this has been proposed before, for reasons that I can't help but agree with.

Despite the post was made on April 1st, I will make a seriously meant comment ;-) Keep it simple. And don't call it regress, some people will play with it and spell it "regrets", which certainly would be a shame for such a great database.