next up previous contents index
Next: POSTGRESQL Global Development Team Up: History of POSTGRESQL Previous: University of California at

Development Leaves Berkeley

In the summer of 1996, it became clear there was great demand for an open source SQL database server, and a team formed to continue development. Marc G. Fournier of Toronto, Canada, offered to host the mailing list and provide a server to host the source tree. One thousand mailing list subscribers were moved to the new list. A server was configured, giving a few people login accounts to apply patches to the source code using cvs.6.3

Jolly Chen  has stated, "This project needs a few people with lots of time, not many people with a little time." Given the 250,000 lines of C6.4 code, we understood what he meant. In the early days, four people were heavily involved: Marc Fournier in Canada; Thomas Lockhart in Pasadena, California; Vadim Mikheev in Krasnoyarsk, Russia; and me in Philadelphia, Pennsylvania. We all had full-time jobs, so we participated in the effort in our spare time. It certainly was a challenge.

Our first goal was to scour the old mailing list, evaluating patches that had been posted to fix various problems. The system was quite fragile then, and not easily understood. During the first six months of development, we feared that a single patch might break the system and we would be unable to correct the problem. Many bug reports left us scratching our heads, trying to figure out not only what was wrong, but how the system even performed many functions.

We had inherited a huge installed base. A typical bug report came in the following form: "When I do this, it crashes the database." We had a long list of such reports. It soon became clear that some organization was needed. Most bug reports required significant research to fix, and many reports were duplicates, so our TODO list included every buggy SQL query. This approach helped us identify our bugs, and made users aware of them as well, thereby cutting down on duplicate bug reports.

Although we had many eager developers, the learning curve in understanding how the database worked was significant. Many developers became involved in the edges of the source code, like language interfaces or database tools, where things were easier to understand. Other developers focused on specific problem queries, trying to locate the source of the bug. It was amazing to see that many bugs were fixed with just one line of C code. Because Postgres had evolved in an academic environment, it had not been exposed to the full spectrum of real-world queries. During that period, there was talk of adding features, but the instability of the system made bug fixing our major focus.


next up previous contents index
Next: POSTGRESQL Global Development Team Up: History of POSTGRESQL Previous: University of California at
Bruce Momjian
2001-05-09