Tracking back foreign keys?

From: Benjamin Smith <ben(at)charterworks(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Tracking back foreign keys?
Date: 2004-12-26 17:43:59
Message-ID: 200412260943.59692.ben@charterworks.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In one of my apps, I have an "images manager" that's become unmanageable. I'd
like to be able to easily track key dependencies.

Let's say I have a set of tables like this:

create table Customers (
id serial unique not null primary key,
name varchar not null,
address varchar not null
image integer references images(id)
);

create table Vendors (
id serial unique not null primary key,
name varchar not null,
vendor_account varchar,
picture integer references images(id)
);

create table Images (
id serial unique not null,
filename varchar not null,
mime varchar not null
);

I know that in the images table I have lots of cruft, "dead wood", but when I
delete from images, is there a "nice" way of finding out what dependencies
there are?

Something like

Select pg_table.name from pg_table where pg_field references images.id

?

How else do I put it? The output I'd like would be something like
images.id / tablename / table.primary key
11 / Vendors / 14
12 / Customers / 9

Can this be done?

-Ben

--
"I kept looking around for somebody to solve the problem.
Then I realized I am somebody"
-Anonymous

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kretschmer 2004-12-26 19:40:42 Re: Merry Christmas
Previous Message Raymond O'Donnell 2004-12-26 13:46:55 Re: Merry Christmas