Re: How to check: is some key referenced from sometable - Mailing list pgsql-sql

From Jonathan Gardner
Subject Re: How to check: is some key referenced from sometable
Date
Msg-id 200308120946.56006.jgardner@jonathangardner.net
Whole thread Raw
In response to Re: How to check: is some key referenced from sometable  (eVl One <evl@my-mail.com.ua>)
List pgsql-sql
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday 09 August 2003 14:44, eVl One wrote:
> So I need:
>    "silent delete" - i.e. when trying to DELETE row from A I'll not
> fall out with "$1 referential integrity violation - key in A still
> referenced from Bxx", but silently doesn't delete row ('cause run it
> from function and need function to executes farther after delete);
> "something to check reference" - system (potgresql) is very quickly
> realizes that key is referenced from another table, maybe this
> information may be accessed through some system relations, or so?
> Thanx for attention.

You may want to check out the "ON DELETE" and "ON UPDATE" clauses of the
FOREIGN KEY syntax. This will help you keep you data consistent.

Otherwise, if you want to know what is referencing something, you'll
have to query all of those tables. Your database structure should be
well-defined and thought out, so you should be able to figure out what
all is referencing it. If you need it for day-to-day queries, you may
want to rethink your design.

If you like, take a look at the pg_trigger table. The way PostgreSQL
manages the foreign key references is through triggers. You may be able
to identify which triggers are which, and from there, determine which
tables are referencing which tables.

- --
Jonathan Gardner <jgardner@jonathangardner.net>
Live Free, Use Linux!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/ORn/WgwF3QvpWNwRAsJ5AJ9iGmopncQsyizb6yIh2CvCQsSmwQCg0UZ/
xImGLW35bdAJSuzCWc7yxBU=
=eQGH
-----END PGP SIGNATURE-----


pgsql-sql by date:

Previous
From: Jonathan Gardner
Date:
Subject: Re: optimisation of a code
Next
From: "Vernon Smith"
Date:
Subject: Re: INSERT INTO ... SELECT