Jason Hihn wrote:
>
>
> > -----Original Message-----
> > From: pgsql-novice-owner@postgresql.org
> > [mailto:pgsql-novice-owner@postgresql.org]On Behalf Of Tom Lane
> > Sent: Monday, September 08, 2003 4:48 PM
> > To: Jason Hihn
> > Cc: pgsql-novice@postgresql.org
> > Subject: Re: [NOVICE] Modifying pg_shadow?
> >
> >
> > Jason Hihn <jhihn@paytimepayroll.com> writes:
> > > I wish to track some additional info about users. Can I just
> > add columns to
> > > the pg_shadow table?
> >
> > Not without modifying the C code that manipulates pg_shadow (at the very
> > least, some routines in src/backend/commands/user.c would have to
> > change, and you'd need to update src/include/catalog/pg_shadow.h).
>
>
> If I could write code to handle tables with extra columns, can't the
> back-end do it too? It would be poetic to have the backend process itself
> with itself. (It appears you hard code these tables?) Not to mention
> extremely flexible.
We do use PostgreSQL to process itself. There is the bootstrap problem
of how to start things.
> > > Can I add a system table while I am at it? (how?)
> >
> > What's your idea of a "system table"? Mine is one that some C code in
> > the backend knows about explicitly. Unless you've written some C code
> > that accesses a table, it's not a system table. The infrastructure for
> > doing this is at least a header in include/catalog/, usually more
> > depending on whether you need things like cache support for the new
> > table. You might care to look at all the code referencing one of the
> > lesser-used catalogs, perhaps pg_language or pg_cast, to get a sense of
> > what is involved.
>
> A 'system table' to me is one provided by Postgres. It is the set of tables
> that exist with no user databases and user tables.
Just put the table in template1 and it will be added to every database
you create.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073