Bruce Momjian

Postgres Blog


This blog is about my work on the Postgres open source database, and is also published on Planet PostgreSQL.

I currently have 1 unread Postgres email messages. Email graphs: unread, outgoing, incoming

View Index



User Testimonial Video at PG East

Tuesday, March 9, 2010

EnterpriseDB believes in the marketing potential of videos. You might remember them producing a video of me explaining pg_migrator last year.

This year, they will be interviewing PG East attendees to create a Postgres user testimonial video. The community has not used videos extensively for marketing, partly because, while it is easy to create a video, it is difficult to create a good video. (Consider the quality of the average YouTube video.) Anyway, my guess is that the video will be something like this customer video. The video will be shared with the community to help promote Postgres worldwide.


9.0 Status Report

Saturday, March 6, 2010

Many people are waiting for Postgres 9.0, so here is a status report about the release. Two weeks ago we completed the last 9.0 CommitFest and released 9.0 Alpha 4. We are now working on a 9.0 open items list. There are relatively few open items compared to previous major releases because there are now more developers focused on closing open items.

Once we deal with all the items on that list, and any new items that appear, we can release the first 9.0 beta. Technically, we could release a beta before dealing with all open items as long as we are sure that none of the existing open items will require cluster reinitialization (initdb).


More Philadelphia Action

Friday, February 26, 2010

A month ago I mentioned a surprising number of Postgres activities in Philadelphia. One month later, those events are past but now there are more.

First, PG East is shaping up to be a big conference:

Registrations are now being accepted. There is a useful "Reasons to Attend" page that will help people who are undecided.

Second, it looks like I will be co-teaching a database class at Drexel University again this summer, but this time, a new, more advanced class that will highlight Postgres technology. Drexel wants to expand their database offerings and train skilled Postgres engineers. Postgres certainly offers students a unique opportunity to understand database technology.


Why Blog?

Saturday, February 20, 2010

With so many ways of electronically communicating in the Postgres community, why blog? I have thought about that question and want to list the various electronically communication methods and their advantages:

Email: Email is great for task-oriented communication. It reaches a large audience and allows for deliberate, consensus-oriented solutions.

Instant Messaging/IRC: This allows for quick feedback for dynamic tasks. I often use it to get a quick opinions before using other communication methods, or for dealing with complex problems that can't be easily phrased in an email.

Blog: I find this best for status reports and thought pieces. It reaches a large audience that is looking for that kind of information.

Wiki: The wiki is great for information that is both dynamic and needs to be retained, e.g. team projects, driver lists.

Documentation: This is for permanent information that should be seen by all Postgres users.

As you can see, this thought piece is best presented as a blog post.


Python Driver Confusion

Saturday, February 20, 2010

A few weeks ago I learned there was serious confusion over the client-side Python drivers available for Postgres. This chart shows many Python drivers, but the recommended libpq-based driver, Psycopg, was listed on the chart as GPL licensed. This would require programs that use the driver to also be GPL licensed. However, the license is not actually GPL but a complicated hybrid license.

Fortunately, the Psycopg author has agreed to relicense his Python driver under the LGPL in the next release, and there is hope that Postgres developers will get involved to help add any missing features to the driver.


Removal of Personal Copyrights

Friday, February 19, 2010

Postgres does not require copyright assignment from contributors because it is BSD licensed. Unlike the GPL, there is no enforcement component in the BSD license. When code and documentation are contributed to the project, the authors give the project the right to distribute their contributions under the BSD license. However, technically, authors also retain full rights to their contributions. Of course, there is little practical difference between retaining full rights and obtaining contributions under the BSD license.

Anyway, while all work submitted to Postgres is covered under the BSD license, the existence of individual copyright lines in our source code, e.g. © Joe Coder, makes company lawyers nervous, so we have a policy of avoiding such content. Unfortunately, this policy has been active only during the past five years and was not always universally enforced. For this reason, we occasionally have to ask authors for permission to remove their copyright lines, or in drastic cases, rewrite trivial code segments when the author cannot be contacted. We perform such cleanups periodically as the personal copyrights are brought to our attention, e.g. 2006, 2006, 2007, 2009, 2010.

We believe we have finally removed all personal copyrights from our source code. Postgres 9.0 will be the first release of Postgres that has no individual copyright statements. Now, the existence of personal copyright statements is insignificant, but their complete removal will probably allow some corporate lawyers to sleep more soundly.


Postgres University Course Material

Thursday, February 18, 2010

Leonard Shapiro of Portland State University has created some excellent Postgres university course material.

His first course, Introduction to Databases, teaches databases from a Postgres perspective. His higher-level course, Relational DMBS/Database Internals, covers many aspects of Postgres in greater detail than is covered in the Postgres manuals.

You might remember I taught a university class last year. I hope someday to able to teach a higher-level course that makes use of Professor Shapiro's material, with his permission, of course.


Where Did My Error Come From?

Thursday, February 18, 2010

I am not sure people are aware that you can find the source code location of any generated server log message. When log_error_verbosity is set to 'verbose', additional details are output that can help diagnose errors. Specifically, I have added this to the Postgres 9.0 documentation:

VERBOSE output includes the SQLSTATE error code and the source code file name, function name, and line number that generated the error.

Here is some sample output:

ERROR:  42P01: relation "lkjasdf" does not exist at character 15
LOCATION:  parserOpenTable, parse_relation.c:857
STATEMENT:  select * from lkjasdf;

Such information can help when reporting errors to the community, particularly if the error message is not in English.

View Comments

Caring for Your (PG) Introvert

Thursday, February 4, 2010

Many computer programmers are introverts because they have chosen the solitary job of creating programs that accomplish specific tasks. Open source developers are probably even more prone to be introverts because the (boring?) meetings, office chit-chat, and lunch outings are mostly gone, with the only communication being via email, instant messaging, twitter, and blogs. Open source social interaction is certainly more controlled than traditional communication.

This excellent article describes introverts as generally misunderstood:

Extroverts are easy for introverts to understand, because extroverts spend so much of their time working out who they are in voluble, and frequently inescapable, interaction with other people. They are as inscrutable as puppy dogs. But the street does not run both ways. Extroverts have little or no grasp of introversion. They assume that company, especially their own, is always welcome. They cannot imagine why someone would need to be alone; indeed, they often take umbrage at the suggestion.

The Postgres community is probably filled with introverts, and that's to be expected, considering that our work does not have the kind of regular personal interaction that would keep extroverts happy. It is no surprise that introverts thrive in our community.

This also makes conferences even more valuable — it is a chance to be with other people who care about the same things we care about, and to tell some jokes. Of course, the conference talks are always good, but what stays with me after conferences is not the knowledge I have gained, but the people I have met and learned more about.

View Comments

Wanted: New Project Slogan

Friday, January 29, 2010

On Monday Josh Berkus requested suggestions for a new Postgres slogan. Our current slogan, "The world's most advanced open source database", was chosen in the early years of the project to distinguish ourselves from other open source databases, and it is easy to see why we should consider a change at this time. The suggestions fit into several categories, some serious, some humorous. Continued discussion is taking place on the advocacy (pgsql-advocacy@postgresql.org) email list.

General

Reliability

"Your"

Open Source

Humorous

Our Name

Update: Here is a more complete list.

View Comments

Postgres Is Hot In Philadelphia

Thursday, January 28, 2010

I was approached in the fall about speaking at various Philadelphia computer user group meetings. Now that I am home I have been able to speak at several, and it is clear there is greatly increased interest in Postgres here in the Philadelphia area, and I bet in other cities as well. For example, in January/February, I am speaking at:

I am also speaking in Albany (full event list), and of course the big event for March is the PG East 2010 conference, also in Philadelphia. This year the conference has been extended for four days, and one of those days is made up of tutorials, which is great for new Postgres users. I am giving one on Postgres administration, and there are two others being given at the same time. I think it is likely there will be a huge increase in the number of conference attendees compared to last year.

For those of you in other cities, you might want to contact your local computer user groups to see if they would be interested in hearing a talk about Postgres. There is a lot of renewed interest in what our community is doing.

View Comments

Threats to Postgres

Thursday, January 28, 2010

I have always thought there were three possible threats to Postgres:

The first issue is that our web domains are owned by a single individual, though others are able to modify the domain. The second involves patent attacks, which seems to be a risk for all software. The third item is a more general version of the skill siphoning / brain drain email thread I blogged about last year, but with a sinister goal of hiring away developers to work on anything but Postgres.

As Postgres becomes more widely adopted, these attacks become more likely. Are there other threats I have not listed? Are there more steps we can take to protect ourselves?

View Comments

Oops, Confusing Press Release

Thursday, January 28, 2010

Last week EnterpriseDB put out a press release with an inaccurate title. Instead of being titled, "EnterpriseDB Responds to EU Decision to Approve Oracle's Acquisition of MySQL", it was unfortunately titled "Postgres Community Responds ...". This has the potential to confuse journalists into thinking that Postgres development is not community controlled, and that's the last thing we want to happen at this point, with MySQL's problem in this area starkly highlighted. This dovetails well with the blog entry I posted a few weeks ago titled, "Don't Confuse Companies with Community".

View Comments

The Next Postgres Adoption Wave

Thursday, January 28, 2010

Based on recent discussions, I am wondering if Postgres is poised for a significant adoption increase in the next year. This is based on a few events:

The last time Postgres appeared poised for another adoption increase was in 2005, with the release of PostgreSQL 8.0, when the native Windows port was introduced. I would say that release marked the point where Postgres became a respected open source database; prior to that we had a reputation of being slow and hard to manage. We had made changes for years before that, but the 8.0 release helped solidify our reputation.

The 9.0 release has the potential for Postgres to move from a respected open source database to a respected mainstream database, because, frankly, how many other databases are attracting new users at the rate we are? — very few.

View Comments

Postgres 9.0 Coming

Thursday, January 28, 2010

Last week Dave Page announced that the next major release of Postgres will be numbered 9.0, rather than 8.5 as previous expected. This change was made because the next major PostgreSQL release will include built-in log-streaming replication, and that has always been considered a feature worthy of increasing the first version number.

While Postgres has had log-based replication support for a few releases, the 9.0 release will allow logs to be streamed to the slave using network transfer, which greatly increases the frequency at which logs can reasonably be sent. It also allows the slave server to accept read-only queries (hot standby), again a major feature addition.

View Comments

European Union Recognizes PostgreSQL

Thursday, January 21, 2010

It seems the European Commission studying the Oracle purchase of Sun/MySQL has finally realized Postgres is a viable open source alternative to MySQL and has approved the purchase:

The Commission's investigation showed that another open source database, PostgreSQL, is considered by many database users to be a credible alternative to MySQL and could be expected to replace to some extent the competitive force currently exerted by MySQL on the database market.

This article, titled in part, "If MySQL fails, there's always PostgreSQL", puts it even more succinctly. I know many MySQL people worked very hard campaigning against approval, and I am sure they are disappointed by the outcome. Postgres users should thank them because even though they lost, their work has increased the visibility of all open source databases, including PostgreSQL.

View Comments

Seeking Documentation Proofreading Assistance

Thursday, January 21, 2010

I mentioned two years ago that I was going to read through the Postgres documentation to see if I could improve it. Now, two years later, I have read through only 25% of the manual. (I will be making a commit to the "Administration" book in the next week.)

My new plan is to solicit volunteers to complete the proofreading of the entire manual. I have created a wiki describing the process and how to get involved. Amazingly, someone took responsibility for a book even before I announced the existence of the wiki. I have also emailed a few people who have offered proofreading assistance in the past.

View Comments

Don't Confuse Companies with Community

Monday, January 4, 2010

There have recently been several excellent blog posts by Postgres community members regarding the campaign by MySQL developers to block the purchase of Sun Microsystems by Oracle. Unfortunately, I think a fatal mistake was made by the MySQL developers years ago when they equated the success of MySQL AB, the company, with the success of MySQL, the software. They are not the same, but, tragically, it is too late to undo that mistake.

I think the majority of Postgres developers understand the distinction between the success of their companies and the success of the PostgreSQL project. Most of us agree that the success of the PostgreSQL project is a purpose far greater than our individual or company successes. While the Postgres project will undoubtedly make mistakes in the future, confusing company success with community success will probably not be one of them.

View Comments