DROP SCHEMA <refpurpose>remove a schema</refpurpose> — スキーマを削除する
DROP SCHEMA [ IF EXISTS ] name
[, ...] [ CASCADE | RESTRICT ]
<command>DROP SCHEMA</command> removes schemas from the database.
DROP SCHEMA
はデータベースからスキーマを削除します。
A schema can only be dropped by its owner or a superuser. Note that the owner can drop the schema (and thereby all contained objects) even if they do not own some of the objects within the schema. スキーマを削除できるのは、所有者またはスーパーユーザのみです。 所有者は、スキーマ内に自分が所有していないオブジェクトが含まれていても、そのスキーマ(およびそこに含まれる全てのオブジェクト)を削除できます。
IF EXISTS
Do not throw an error if the schema does not exist. A notice is issued in this case. スキーマが存在しない場合でもエラーになりません。 この場合注意メッセージが発行されます。
name
The name of a schema. スキーマの名前です。
CASCADE
Automatically drop objects (tables, functions, etc.) that are contained in the schema, and in turn all objects that depend on those objects (see <xref linkend="ddl-depend"/>). スキーマに含まれるオブジェクト(テーブル、関数など)を自動的に削除し、さらにそれらのオブジェクトに依存するすべてのオブジェクトも削除します(5.15参照)。
RESTRICT
Refuse to drop the schema if it contains any objects. This is the default. スキーマにオブジェクトが含まれている場合は、スキーマの削除を拒否します。 こちらがデフォルトです。
Using the <literal>CASCADE</literal> option might make the command
remove objects in other schemas besides the one(s) named.
CASCADE
オプションを使用すると、指定されたスキーマ以外にあるオブジェクトを削除することになる可能性があります。
To remove schema <literal>mystuff</literal> from the database,
along with everything it contains:
データベースからmystuff
スキーマ、およびそこに含まれる全てのオブジェクトを削除します。
DROP SCHEMA mystuff CASCADE;
<command>DROP SCHEMA</command> is fully conforming with the SQL
standard, except that the standard only allows one schema to be
dropped per command, and apart from the
<literal>IF EXISTS</literal> option, which is a <productname>PostgreSQL</productname>
extension.
DROP SCHEMA
は、標準SQLと完全な互換性を持ちますが、標準では1コマンドで1つのスキーマしか削除できないという点、および、PostgreSQLの拡張であるIF EXISTS
を除きます。