Postgresql-drop-database

提供:Dev Guides
移動先:案内検索

PostgreSQL-DROPデータベース

この章では、PostgreSQLでデータベースを削除する方法について説明します。 データベースを削除するには2つのオプションがあります-

  • SQLコマンドのDROP DATABASEを使用します。 *_dropdb_を使用して、コマンドライン実行可能ファイル。

'_既存のデータベースを削除すると、データベースに保存されている完全な情報が失われるため、この操作を使用する前に注意してください。_

DROP DATABASEの使用

このコマンドはデータベースを削除します。 データベースのカタログエントリを削除し、データを含むディレクトリを削除します。 データベース所有者のみが実行できます。 このコマンドは、ユーザーまたは他のユーザーがターゲットデータベースに接続している間は実行できません(このコマンドを発行するには、postgresまたは他のデータベースに接続します)。

構文

DROP DATABASEの構文は次のとおりです-

DROP DATABASE [ IF EXISTS ] name

パラメーター

表には、パラメーターとその説明がリストされています。

S. No. Parameter & Description
1
  • IF EXISTS*

データベースが存在しない場合でもエラーをスローしないでください。 この場合、通知が発行されます。

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の下にある)ユーザー名を使用してデータベースを削除しました。