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
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match