Schemas löschen

Um ein Schema wieder loszuwerden, können Sie DROP SCHEMA verwenden:

test=# \h DROP SCHEMA
Command:     DROP SCHEMA
Description: remove a schema
Syntax:
DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]

Versuchen wir nun, das Schema namens 'sales' zu entfernen:

test=# DROP SCHEMA sales;
NOTICE:  table sales.t_mitarbeiter depends on schema sales
ERROR:  cannot drop schema sales because other objects depend on it
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

Das wird nicht funktionieren, da das Schema noch Objekte enthält. Da es denkbar mühsam ist, das Schema erst komplett zu leeren, stellt PostgreSQL einen Dependency Checker zur Verfügung, der es ermöglicht, alle Objekte inklusive dem Schema zu entfernen:

test=# DROP SCHEMA sales CASCADE;
NOTICE:  drop cascades to table sales.t_mitarbeiter
DROP SCHEMA

Auch bei anderen Befehlen hat das Schlüsselwort CASCADE genau die selbe Wirkung und löscht abhängige Objekte.




Cybertec Schönig & Schönig GmbH
PostgreSQL support, training, consulting
www.postgresql-support.de