Re: Big 7.1 open items

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Hiroshi Inoue" <Inoue@tpf.co.jp>
Cc: "Bruce Momjian" <pgman@candle.pha.pa.us>, "Mikheev, Vadim" <vmikheev@SECTORBASE.COM>, "'Peter Eisentraut'" <peter_e@gmx.net>, "Thomas Lockhart" <lockhart@alumni.caltech.edu>, "Jan Wieck" <JanWieck@Yahoo.com>, "PostgreSQL-development" <pgsql-hackers@postgresql.org>, "Ross J. Reedstrom" <reedstrm@rice.edu>
Date: 2000-06-28T17:39:32Z
Lists: pgsql-hackers
"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> Why do we have to have system tables per *database* ?
> Is there anything wrong with global system tables ?
> And how about adding dbid to pg_class,pg_proc etc ?

We could, but I think I'd vote against it on two grounds:

1. Reliability.  If something corrupts pg_class, do you want to
lose your whole installation, or just one database?

2. Increased locking overhead/loss of concurrency.  Currently, there
is very little lock contention between backends running in different
databases.  A shared pg_class will be a single point of locking (as
well as a single point of failure) for the whole installation.

It would solve the DROP DATABASE problem kind of nicely, but really
it'd just be downgrading DROP DATABASE to a DROP SCHEMA operation...

			regards, tom lane