「S2 運用管理 - S2.2 標準付属ツールの使い方(createdb/dropdb)」からの出題です。
他のホストで稼働中のデータベースを削除することもできる。
実行するにはスーパーユーザーまたはCREATEDB権限が必要である。
削除するデータベースは中身が空でなければならず、データが入っていたらエラーになる。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2023年5月17日
PostgreSQLではデータベースクラスタ内に複数のデータベースがあります。クラスタにデータベースを追加するにはCREATE DATABASE、削除するにはDROP DATABASEコマンドを実行します。これらのコマンドをOSから実行できるよう、ラッパーとして createdbおよびdropdbコマンドが用意されています。ラッパーですので、dropdbで実行できることは、すべてDROP DATABASEでも実行できます。また、これらのOSコマンドとSQLコマンドの間に実質的な区別はありませんので、データベースの作成で使用したコマンドがCREATE DATABASEであろうとcreatedbであろうと、削除できます。
dropdbはPostgreSQLの他のクライアントユーティリティと同様、接続先のホストやポート番号などを指定できるので、ネットワークを通して他のホストで稼働中のデータベースに対してもコマンドを実行することができます。
データベースの新規作成にはスーパーユーザーまたはCREATEDB権限が必要ですが、削除するときはスーパーユーザー権限があるか、あるいはデータベースの所有者である必要があります。CREATEDB権限があっても、所有者でなければ削除することはできません。
dropdbはデータベースが空でなくても削除してしまいます。これはDROP TABLEでデータが入っているテーブルを削除できるのと同じですね。削除してしまうと元に戻せないので十分に注意して実行してください。
従って正解はA、B、Cです。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.