PostgreSQL-DROPデータベース
この章では、PostgreSQLでデータベースを削除する方法について説明します。データベースを削除するには2つのオプションがあります-
- SQLコマンドであるDROPDATABASEを使用します。
- dropdbを使用してコマンドライン実行可能ファイル。
既存のデータベースを削除すると、データベースに保存されている完全な情報が失われるため、この操作を使用する前に注意してください。
DROPDATABASEの使用
このコマンドはデータベースを削除します。データベースのカタログエントリを削除し、データを含むディレクトリを削除します。データベースの所有者のみが実行できます。このコマンドは、あなたまたは他の誰かがターゲットデータベースに接続している間は実行できません(このコマンドを発行するには、postgresまたは他のデータベースに接続してください)。
構文
DROPDATABASEの構文を以下に示します-
DROP DATABASE [ IF EXISTS ] name
パラメーター
この表は、パラメーターとその説明を示しています。
S.いいえ。 | パラメータと説明 |
---|---|
1 | IF EXISTS データベースが存在しない場合でもエラーをスローしないでください。この場合、通知が発行されます。 |
2 | name 削除するデータベースの名前。 |
psqlまたは pgAdminIII からの独自の接続を含め、接続が開いているデータベースを削除することはできません 。現在接続しているデータベースを削除する場合は、別のデータベースまたはtemplate1に切り替える必要があります 。したがって、代わりに、このコマンドのラッパーであるプログラムdropdbを使用する方が便利な場合 があります。
例
以下は、削除する簡単な例です testdb PostgreSQLスキーマから-
postgres=# DROP DATABASE testdb;
postgres-#
dropdbコマンドの使用
PostgresSQLコマンドライン実行可能ファイル dropdbSQLコマンドDROPDATABASEのコマンドラインラッパーです。このユーティリティを介したデータベースの削除と、サーバーにアクセスするための他の方法を介したデータベースの削除との間に効果的な違いはありません。dropdbは、既存のPostgreSQLデータベースを破棄します。このコマンドを実行するユーザーは、データベースのスーパーユーザーまたはデータベースの所有者である必要があります。
構文
dropdbの構文は次のとおりです-
dropdb [option...] dbname
パラメーター
次の表に、パラメーターとその説明を示します。
S.いいえ。 | パラメータと説明 |
---|---|
1 | dbname 削除するデータベースの名前。 |
2 | option dropdbが受け入れるコマンドライン引数。 |
オプション
次の表に、dropdbが受け入れるコマンドライン引数を示します。
S.いいえ。 | オプションと説明 |
---|---|
1 | -e サーバーに送信されているコマンドを表示します。 |
2 | -i 破壊的なことをする前に、確認プロンプトを発行します。 |
3 | -V dropdbバージョンを印刷して終了します。 |
4 | --if-exists データベースが存在しない場合でもエラーをスローしないでください。この場合、通知が発行されます。 |
5 | --help dropdbコマンドライン引数に関するヘルプを表示し、終了します。 |
6 | -h host サーバーが実行されているマシンのホスト名を指定します。 |
7 | -p port サーバーが接続をリッスンしているTCPポートまたはローカルUNIXドメインソケットファイル拡張子を指定します。 |
8 | -U username 接続するユーザー名。 |
9 | -w パスワードプロンプトを発行しないでください。 |
10 | -W データベースに接続する前に、dropdbにパスワードの入力を強制します。 |
11 | --maintenance-db=dbname ターゲットデータベースを削除するために接続するデータベースの名前を指定します。 |
例
次の例は、OSコマンドプロンプトからデータベースを削除する方法を示しています。
dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****
上記のコマンドはデータベースを削除します testdb。ここでは、postgres (template1のpg_rolesの下にあります)データベースを削除するためのユーザー名。