Postgresql-drop-database
PostgreSQL-DROPデータベース
この章では、PostgreSQLでデータベースを削除する方法について説明します。 データベースを削除するには2つのオプションがあります-
- SQLコマンドのDROP DATABASEを使用します。 *_dropdb_を使用して、コマンドライン実行可能ファイル。
'_既存のデータベースを削除すると、データベースに保存されている完全な情報が失われるため、この操作を使用する前に注意してください。_
DROP DATABASEの使用
このコマンドはデータベースを削除します。 データベースのカタログエントリを削除し、データを含むディレクトリを削除します。 データベース所有者のみが実行できます。 このコマンドは、ユーザーまたは他のユーザーがターゲットデータベースに接続している間は実行できません(このコマンドを発行するには、postgresまたは他のデータベースに接続します)。
構文
DROP DATABASEの構文は次のとおりです-
DROP DATABASE [ IF EXISTS ] name
パラメーター
表には、パラメーターとその説明がリストされています。
S. No. | Parameter & Description |
---|---|
1 |
データベースが存在しない場合でもエラーをスローしないでください。 この場合、通知が発行されます。 |
2 |
name 削除するデータベースの名前。 |
'__psql_または_pgAdmin III_からの独自の接続を含む、開いている接続を持つデータベースを削除することはできません。 現在接続しているデータベースを削除する場合は、別のデータベースまたは_template1_に切り替える必要があります。 したがって、代わりにこのコマンドのラッパーであるプログラム_dropdb_を使用する方が便利な場合があります。_
例
以下は、PostgreSQLスキーマから testdb を削除する簡単な例です-
postgres=# DROP DATABASE testdb;
postgres-#
dropdbコマンドの使用
PostgresSQLコマンドライン実行可能ファイル dropdb は、SQLコマンド_DROP DATABASE_のコマンドラインラッパーです。 このユーティリティを使用してデータベースを削除しても、サーバーにアクセスする他の方法を使用しても、データベースを削除しても実質的な違いはありません。 dropdbは既存のPostgreSQLデータベースを破壊します。 このコマンドを実行するユーザーは、データベースのスーパーユーザーまたはデータベースの所有者でなければなりません。
構文
_dropdb_の構文は次のとおりです-
dropdb [option...] dbname
パラメーター
次の表に、パラメーターとその説明を示します
S. No. | Parameter & Description |
---|---|
1 |
dbname 削除するデータベースの名前。 |
2 |
option dropdbが受け入れるコマンドライン引数。 |
オプション
次の表は、dropdbが受け入れるコマンドライン引数を示しています-
S. No. | Option & Description |
---|---|
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の下にある)ユーザー名を使用してデータベースを削除しました。