Re: Everything is now "required by the database system" - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Everything is now "required by the database system"
Date
Msg-id 27623.1029260317@sss.pgh.pa.us
Whole thread Raw
In response to Everything is now "required by the database system"  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: Everything is now "required by the database system"
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> With the new dependency system we have the entire system catalog content
> pinned down and unchangeable.  This is a tiny dent in the nice extensible
> nature of the system.

It's still "extensible", it's just not so easily "contractible"...

I'm not sure that this matters, as I've never heard of anyone actually
troubling to remove unused datatypes etc.

> Would it be feasible to identify the non-essential parts of the built-in
> objects (say, inet type, numeric type, associated functions, etc.) and
> declare those with regular SQL commands in initdb?  In the end, the system
> catalog contents in include/catalog/ would only contain the "bootstrap"
> content.  For example, the pg_proc content could be made more manageable
> that way.

No, it would become a lot less manageable because we'd have a harder
time controlling OIDs for builtin types and functions.  We'd end up
having to push everything we deemed inessential out to non-builtin
status (compare the contrib items that create new types).  While there's
some stuff like money and the geometric types that maybe deserve such
demotion, there's not enough to get me excited about trimming it.

While reviewing the pg_depend patch I was hoping that we could pin just
a subset of the initial catalog contents, but eventually decided it was
(a) tricky and (b) not worth the trouble.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: libpqxx
Next
From: strange@nsk.yi.org
Date:
Subject: Re: [GENERAL] Linux Largefile Support In Postgresql RPMS