Book Image

PostgreSQL 9 Administration Cookbook - Second Edition

Book Image

PostgreSQL 9 Administration Cookbook - Second Edition

Overview of this book

Table of Contents (19 chapters)
PostgreSQL 9 Administration Cookbook Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Understanding object dependencies


In most databases, there will be dependencies between objects in the database. Sometimes, we need to understand those dependencies to figure out how to perform certain actions. Let's look at this in detail.

Getting ready

We'll use the following simple database to understand the issues and investigate them. There are two tables, as follows:

CREATE TABLE orders (orderid integer PRIMARY KEY);
CREATE TABLE orderlines (orderid integer,lineid smallint,PRIMARY KEY (orderid, lineid));

Now, we add a link between them to enforce what is known as Referential Integrity, as follows:

ALTER TABLE orderlines ADD FOREIGN KEY (orderid) REFERENCES orders (orderid);

If we try to drop the referenced table, we get the following message:

DROP TABLE orders;
ERROR: cannot drop table orders because other objects depend on it
DETAIL: constraint orderlines_orderid_fkey on table orderlines depends on table orders
HINT: Use DROP ... CASCADE to drop the dependent objects too.

Be very careful...