Re: best way to reference tables

From: Richard Huxton <dev(at)archonet(dot)com>
To: tjo(at)acm(dot)org
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: best way to reference tables
Date: 2005-08-09 14:54:38
Message-ID: 42F8C3AE.50903@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

TJ O'Donnell wrote:
> I have many different tables that I want to keep track of.
> So, I thought of a master table with those table names in it.
> But, to maintain this (suppose a table changes
> its name, gets dropped) I want to have some kind of referential
> integrity - the way foreign keys and constraints do.
> What could I use that would disallow inserting a name into
> the master table unless another table by that name already exists?
> And what could ensure that a table would not be renamed or dropped
> unless the master table is changed?

You can write your own triggers that would stop you from adding a
non-existent table to your master-table. You can't fire triggers on
changes to system tables though, so you can't stop someone adding a table.

In any case, you presumably want to track ALTER TABLE ADD COLUMN too so
you'll need something a little smarter.

Have you considered "pg_dump --schema-only" along with suitable
version-control software (CVS/Subversion/Arch etc)? Or are you trying to
track something specific?

--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2005-08-09 15:02:47 Re: Case sensitivity
Previous Message Sean Davis 2005-08-09 14:52:32 Re: best way to reference tables