PostgreSQL 1.0: The POSTGRES95 Transition
For years, we’ve been following the work of Michael Stonebraker and his team at Berkeley. Their "Post-Ingres" (Postgres) project was revolutionary for its support of complex types and rules, but it had a major hurdle for those of us in the industry: it used a query language called PostQUEL instead of the industry-standard SQL.
That just changed. Two students, Andrew Yu and Jolly Chen, have replaced the PostQUEL parser with a SQL one, and the result is POSTGRES95 (which we're all starting to call PostgreSQL).
Why This Matters
Most open-source databases right now, like mSQL, are lightweight but lack the robust features required for serious applications. Postgres, on the other hand, was built from the ground up to handle complex data objects and extensible types. Now that it speaks SQL, we can actually use it as a viable alternative to expensive proprietary systems like Oracle or Sybase.
Technical Prowess: Extensibility
One of the coolest things about Postgres is how easy it is to add your own types. You don't just get integers and strings; you can define geometric types, IP addresses, or whatever your application needs.
-- Creating a custom complex type in Postgres95
CREATE TYPE complex AS (
r double precision,
i double precision
);
CREATE FUNCTION complex_add(complex, complex)
RETURNS complex
AS 'filename', 'complex_add'
LANGUAGE 'c';
Looking Ahead
By releasing the code under the BSD license, the Berkeley team has ensured that this database can grow far beyond the walls of the university. I see a future where PostgreSQL becomes the "gold standard" for open-source relational databases, especially for users who care about data integrity and advanced features over raw, unoptimized speed. It feels like the beginning of a new era for data management.