Re: Postgresql revisited. Some questions about the product - Mailing list pgsql-general

From Mike Mascari
Subject Re: Postgresql revisited. Some questions about the product
Date
Msg-id 3B4E1E24.C4E51ACE@mascari.com
Whole thread Raw
In response to Re: Postgresql revisited. Some questions about the product  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-general
> > Some time ago I posted to comp.databases a list of requirements which
> > IMHO any RDBMS product must meet to be generally useful in commercial
> > applications.
> >
> > I got some responses back regarding Postgresql but a lot of
> > improvements have since been made, so I am reposting the original list
> > of questions and wondering if anyone out there would be able to
> > provide up-to-date answers on them.
...

Let's go over the "No's" that still remain:

> >
> > 3. Does it support ALTER TABLE ... DROP ,
>
> No.

Neither did Oracle until version 8.1.5.

>
> > ALTER TABLE .... ADD (and, a
> > la SQL Server 7) ALTER TABLE ... MODIFY?. (the last option can
> > actually change a column datatype without destroying data - very nice)
>
> No.

PostgreSQL supports ALTER TABLE ADD, but not ALTER TABLE MODIFY. Oracle
8.0.5 doesn't allow for the modification of column data types if there
is data in the table.

> > 10. Does it support Unicode. If not, does it support locale-specific
> > collation sequences and/or sort orders. If so, can you restore
>
> It supports all those.
>
> > databases across locale boundaries i.e created under one locale,
> > restored under another (SQL Server can't do this).
>
> No.

...

> > 13. Are there tools to check and/or repair a corrupt database.
>
> No, little demand for them.

It's true. There is very little demand for them. I've been using
PostgreSQL for at least 3 years and have never suffered data corruption.
Index corruption in *much older* versions yes, but not data. There is a
utility to recover data straight from the database files (including dead
tuples), but, never having had corrupt data, I've never used it. I've
only seen a couple of posters reference it when they incorrectly used
Unix (mv, cp, tar) commands for B & R on either a running database or
without tarring the whole 'data' tree.

> > 15. Do you have control over transaction logging e.g turn it off for
> > bulk copy operations etc. Can this be done programmatically.
>
> No, not programatically.

...

> > 18. What is the granularity of locking (page/row) or can you do what
> > Oracle does, where repeatable reads are possible even when
> > transactions
> > are open against a database. Can you set lock timeouts?
>
> We have MVCC, writers don't block readers and readers don't block
> writers.
>
> No lock timeout.

As Bruce points out, PostgreSQL is like Oracle WRT versioning and
therefore doesn't use page/row locks.

> >
> > Without all these features it's a useful product but not a replacement
> > for any of the standard commercial RDBMS products, no matter how
> > elegant it might be. Any thoughts, PostgresGurus?
>
> No comment.

The use of the term *all* is questionable. I'm not suggesting that the
few "No's" that remain shouldn't be addressed. But using your minimal
requirements implies that Oracle 8 before 8.1.5 wasn't a "standard
commercial RDBMS". You might also wan't to ask a few more:

"Are DDL statements ROLLBACK-able?"

"Does the database support TCL and Perl procedural languages?"

"Does the database support object features like multiple inheritance?"

"Can the database use subselects as column expressions? in the FROM
clause?"

Just my opinion,

Mike Mascari
mascarm@mascari.com

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Visual Modeling programs
Next
From: "Gregory Wood"
Date:
Subject: Re: autoincrement???