I don't know where better to post this, but feel free to forward this on
elsewhere. I haven't seen anything on this posted in Postgres circles
(though I might have missed it!), so I thought someone should. What
follows is about two pages of PostgreSQL's (pre?) history (including a
little on server internals that might be of interest to some) followed by
an invitation to a public lecture with reception/celebration, and an
announcement of a new endowment in support of undergraduate and first-year
graduate student research in database management systems. Attached below
my text are two emails from coleagues from the early days discussing the
lecture that you might find interesting reading.
Old timers here probably know something about Postgres' early history.
Some of us, like myself, have had some direct involvement, though I have
never taken a role with PostgreSql, nor was I a student involved with
Postgres. I got involved in 1989 when I joined RTI reporting to the VP
level and became more closely involved when Mike Stonebraker hired me to
lead a project for him at UCB while the Postgres project was still funded.
I would love to know something more of PostgreSql.org's history, but, at
the risk of some error, I can give you a basic outline of the early
history of Postgres - how it came to be. Please correct me if I happen to
It _should_ go without saying that Postgres was the follow-on project -
and inheritor of the intellectual capital - from Ingres at the University
California, Berkeley, led by Professor Michael Stonebraker... "Back in the
day," in the late 1970s, Mike became interested in the concept of the
relational database and his team of students was one of the leading
research groups. They named their project "Ingres" after a French painter
- pre-impressionist, I believe. "University Ingres" is widely considered
the first successful implementation of a relational database engine and
its public domain source code was the starting code line for Oracle,
Sybase, Informix, Britton Lee and a few other popular commercial RDBMSes,
as well as Postgres in all its forms.
In 1976, Michael Stonebraker, Eugene Wong, Peter Kreps and Jerry Held
published a paper titled "The Design and Implementation of Ingres", and it
wasn't long until companies like Oracle and Britton Lee were
commercializing this work. So, in 1980, Mike and some of his students
started a company known as Relational Technology Inc., RTI (later Ingres
Corporation) and made their own commercial implementation. Their version,
known simply as "Ingres," was fantastic, widely considered the best
product by far in the industry. I joined RTI in 1989, just as "Release 6"
was being introduced.
As many here are internals-oriented, it's worth a brief digression on the
internals; Given the compute resources of the day, Release 6 used a
multi-server, multi-threaded architecture that used shared memory and
semaphores on Unix based platforms, and a device driver on VMS, for
interprocess communications. It was a miniature operating system, complete
with internally managed threads, slaves for asynchronous I/O, and a
half-dozen or so "facilities" providing a clean interface for thread
management. One main codeline was written against a "compatibility
library" that resolved differences between system flavors, and "porting"
to a new platform was mostly all about modifying the CL as appropriate.
The servers internal facilities included such as PF, the Parser Facility,
OPF, the Optimizer Facility, QEF, the Query Execution Facility, DMF, the
Data Manipulation Facility, and so forth. In production, heavily loaded,
highly concurrent environments especially, it was the "cat's meow."
Importantly, the genius Eric Lundblad contributed a wonderful statistics
based optimizer that kept track of the domains of table attributes using
histograms. This permitted the cost-based optimizer facility to evaluate
and choose a query plan based upon estimated CPU and I/O costs of
performing a query in alternative ways. For example, projection and
restriction steps whose estimates were smallest were very nearly always
chosen to be performed first, and if they could be fetched from an index,
so much the better, especially if it could avoid access to the underlying
table. While other systems required query authors to understand the
implications of the order used in the way they wrote their queries -
called manual query optimization - Ingres gave outstanding performance
even when the query was written in the worst possible way. ...As I did
comparative benchmarks for marketing occasionally, I can tell you that
Ingres beat its best competition by more than 10X, and sometimes more than
100X in nearly all real-world scenarios, even with outstanding manual
After the commercialization of Ingres, the University Ingres team
continued on. In an effort to keep leading the way, Mike's UCB team moved
into expanding datatypes. After not very long, they had added "Universal
Data Types" to University Ingres, along with functions and operators
needed to make them work. This was quickly adopted by the commercial
Ingres team, then known as Ingres Corporation. I really don't recall just
what the timing was but I think the Berkeley team, after UDT development
but before commercialization, realized that they could rewrite University
Ingres to use the whole set of UDT concepts throughout the project, and
they felt it deserved a new name - I think this also coincided with a
switch in grant money... Since it was now "after Ingres", someone came up
with the name Postgres, and it stuck. I vaguely recall seeing t-shirts
with the new name in 1992 - "PostgreSql", "Postgres the Sequel", they
In 1993, as I recall, one of my reports at Ingres, Paul Brown, left my
group to join Mike's team at UCB, and the following year, after Ingres was
bought by Computer Associates, Mike convinced me to lead a research team
for him at UCB, working right along side the Postgres folks. However, by
the time the bureaucratic wheels turned enough for Mike to hire me as a
researcher with managerial authority, the Postgres team was already
winding down. I think they had grant money through to September or
November of '94, but in any case, Paul was the last Postgres-hire (a paid
researcher), and, thankfully, left them to join my team immediately -
along with Turing Award-winner Jim Gray, among others.
I lost Paul again when he jumped ship about a year later to go to
Illustra, the company Mike founded for the commercialization of Postgres.
Within a handfull of months after Paul joined them, Illustra was bought by
Informix, who tried to integrate Illustra with their RDBMS. In short, I
think their integration lost the best of Postgres by keeping the worst
parts of both systems, if you were to ask me, but either way Informix went
on to be bought by IBM. (Meanwhile, I kept on working for Mike at UCB,
later getting my own grants, and finally commercializing my own work by
founding Science Tools...)
So, here it is all these years later. Someone else will have to step in
and tell us how this Postgres Open-Source movement got started, if any of
the folks had connections to UCB, the original Postgres team, and so
forth. I can't tell you anything about that. What I can add, however, is
that there will be a public lecture given by Michael Stonebraker, Eugene
Wong, Peter Kreps and Jerry Held regarding their paper "The Design and
Implementation of INGRES" on Wednesday, Nov 29th, at Soda Hall, UC
Berkeley, with reception to follow immediately thereafter. More
information and (free) registration is here:
I think you have until the first of November to register.
Below are some emails that you may find of some interest on this same
subject. Note that the Ingres community, some twelve plus years after the
company's demise, still hangs to gether as Ex-Ingres - "Ingres Corporate
Culture without the corporation!"
In closing, I'd very much enjoy meeting folks from the PostgreSql team,
especially the core members. You'll find me at this talk/reception - hope
to see you there.
Richard Troy, Chief Scientist
Science Tools Corporation
510-924-1363 or 202-747-1263
From: elein <elein at varlena.com>
To: exingres at exingres.org
Subject: [ExIngres] Invitation to Stonebraker/Wong/Held/Kreps lecture at UCB
I received this message from Dr. Paula Hawthorn who is involved in
setting up the endowment fund mentioned below. She asked me to forward
it to this list since the subject may be near and dear to the database
fans among us as well as the people who worked at INGRES early on. Please
feel free to forward the message to others who may be interested.
It will be great to give the *original* INGRES some credit it deserves
as well as to give a hand to the next generation of database geeks.
elein at varlena.com
This year marks the 30th anniversary of the publication of the paper "The
Design and Implementation of INGRES". To mark this occasion, Cal EECS is
inviting the authors, Michael Stonebraker, Gene Wong, Jerry Held and Peter
Kreps to give a Distinguished Lecture this fall.
You are invited to both the lecture and the reception that will follow.
The lecture will begin at 4PM on Wednesday, Nov. 29, the reception shortly
after. If you are planning to attend, it is important that you register
for the reception by October 1.
For details, and to register, go to
At the reception, Mike & Gene's students & colleagues will be announcing
the UC Berkeley College of Engineering Mike Stonebraker-Eugene Wong
Endowment Fund. The proceeds from this Fund will go to support UCB
undergraduate and first-year graduate student research in database
management systems. Funds for the support of undergraduate and first-year
graduate students are currently hard to obtain, so the faculty are very
supportive of this, as are Gene & Mike. The students who receive the funds
will be chosen by the DBMS faculty, working with the Department Chair. To
donate to this Endowment, go to
The first 20 people who donate $1,000 or more will receive parking passes!
We'll see you at the reception!
Exingres -- Ingres corporate culture without the corporation
For more ExIngres services, see http://ExIngres.org/
Richard Troy, Chief Scientist
Science Tools Corporation
510-924-1363 or 202-747-1263
pgsql-announce by date
|Next:||From: Josh Berkus||Date: 2006-10-26 20:24:17|
|Subject: PostgreSQL 8.2 Beta 2 Ready for Testing!|
|Previous:||From: support||Date: 2006-10-23 05:01:47|
|Subject: Bay Breeze Software released SQL Edge 2.2 to support PostgreSQL
pgsql-general by date
|Next:||From: Roberto Hartke Neto||Date: 2006-10-25 17:45:42|
|Subject: Updating client table definitions from server tables without losing client data|
|Previous:||From: David Fetter||Date: 2006-10-25 16:31:55|
|Subject: Re: DBI-Link, Oracle, database encoding|