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
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:
- The conference agenda looks very full, with both developer and business-oriented talks. The business-oriented focus is rather new for Postgres conferences, and I think signals more mainstream adoption of Postgres.
- It is at the Warwick Hotel. This
lobby photo should give you a good idea of how nice the hotel is
— we will simply have to adjust to having a Postgres conference in a fancy hotel.
- Noel Yuhanna of Forrester Research will be speaking. He is the person who authored last year's Forrester Wave report that found
Ingres and MySQL as the leading open source databases
(news report). You can judge for
yourself how much "research" went into that report, but we will be nice to him — a bodyguard will be unnecessary.
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 CommentsCaring 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 CommentsWanted: 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
- PostgreSQL: The Elephant Never Forgets
- PostgreSQL: Enjoy Your Database Again
- PostgreSQL: The Professional Database Solution
- PostgreSQL: Meet the Future
- PostgreSQL: It Simply Works
Reliability
- PostgreSQL: Reclaim Your Database
- PostgreSQL: Because Your Data Is Worth It
- PostgreSQL: Setting the Standard For Following the Standard
- PostgreSQL: It's ACID!
"Your"
- PostgreSQL: YourSQL
- PostgreSQL: Your Next Database
- PostgreSQL: Your Open Source Database
- PostgreSQL: Your Data is Important
- PostgreSQL: Your Data: Any time, Any Place
Open Source
- PostgreSQL: Free Forever
- PostgreSQL: Powerful Freedom
- PostgreSQL: Liberate Your Data!
- PostgreSQL: The 'Open' Open Source Database
- PostgreSQL: Open-Source Database, Open-Ended Possibilities
Humorous
- PostgreSQL: The Open Source Elephant Memory
- PostgreSQL: Even Better With Bacon!
- PostgreSQL: Less Complex Than Oracle (But That Doesn't Mean Much)
- PostgreSQL: Duh
- PostgreSQL: We Won't Be Bought Out
- PostgreSQL: Licensed To kill
Our Name
- PostgreSQL: Unpronounceably awesome!
- PostgreSQL: The most powerful software you can't pronounce
- PostgreSQL: It's OK to call it Postgres, just not Postgre
- Postgres: Who stole my QL?
Update: Here is a more complete list.
View CommentsPostgres 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:
- Philadelphia area Linux User Group (PLUG) - North
- Philadelphia area Linux User Group (PLUG) - West
- The Mathlab at Drexel University
- A Drexel University class
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 CommentsThreats to Postgres
Thursday, January 28, 2010
I have always thought there were three possible threats to Postgres:
- Control of the Internet domain name
- Patent attacks
- Hiring of volunteers to work on unrelated projects
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 CommentsOops, 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 CommentsThe 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 upcoming Postgres 9.0 release, which I just blogged about
- The unstable economy, which is causing many companies to rethink their software spending practices
- The uncertainty surrounding other databases, both proprietary and open source
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 CommentsPostgres 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 CommentsEuropean 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 CommentsSeeking 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 CommentsDon'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
Postgres Blog
RSS