DROP DATABASE
DROP DATABASE ステートメントにより、データベースを削除します。Master ユーザーのみがこのステートメントを発行できます。
構文
DROP DATABASE [IF EXISTS] データベース名 [DELETE FILES]
データベース名 ::= ユーザー定義名
備考
このステートメントを発行するには、Master ユーザーとしてデータベースにログオンしている必要があります。DROP DATABASE ステートメントを使用すると、セキュリティ設定で削除が許可されていれば、現在ログオンしているデータベースも含め、あらゆるデータベースを削除できます。以下の
セキュリティで保護されたデータベースを参照してください。
DROP DATABASE は、defaultdb や tempdb などのシステム データベースを削除する場合には使用できません。選択し、セキュリティで許可されていれば、このステートメントを使用して最後のユーザー定義データベースを削除できます。
DROP DATABASE ステートメントは、ストアド プロシージャおよびユーザー定義関数内では使用できません。
IF EXISTS 式を指定すると、データベースが存在しない場合、ステートメントはエラーではなく成功を返すようになります。IF EXISTS は、それ以外のエラーを抑制しません。
セキュリティで保護されたデータベース
「データベース」セキュリティ モデルで保護されたデータベースは削除できません。『
Advanced Operations Guide』の
MicroKernel エンジンのセキュリティ モデルを参照してください。
以下の方法でセキュリティ保護されているデータベースは削除できます。
•クラシック セキュリティ
•混合セキュリティ
•リレーショナル セキュリティ(Master パスワード)と、クラシック セキュリティまたは混合セキュリティの組み合わせ
『
Advanced Operations Guide』の
PSQL セキュリティを参照してください。
DELETE FILES
DELETE FILES 句は、データ辞書ファイル(DDF)を削除するためのものです。データ ファイルは削除されません。
DELETE FILES を省略した場合、DDF は物理記憶域に残りますが、データベース名は dbnames.cfg から削除されます。dbnames.cfg から名前が削除されると、そのデータベースはもうデータベース エンジンにとって存在しないことになります。DDF を保持しておくことによって、データベースの再作成を選択した場合にその実行が可能になります。
DDF を削除するとき、DDF は使用中であってはいけないことに注意してください。たとえば、PSQL Control Center を開いている場合に DELETE FILES 句を使用すると、"ファイルがロックされています" というエラーが返されます。PCC が開いている間は、DDF は使用中であると見なされ、削除されません。
例
次の例によって、データベース名 inventorydb は dbnames.cfg から削除されますが、データベースの DDF(およびデータ ファイル)は物理記憶域に保持されます。
DROP DATABASE inventorydb
============
次の例では、データベース名 HRUSBenefits とその DDF が削除されます。HRUSBenefits のデータ ファイルは保持されます。
DROP DATABASE HRUSBenefits DELETE FILES
関連項目