今回は、Silverの「S2 運用管理 - S2.1 インストール方法(テンプレートデータベース)」からの出題です。
テンプレートデータベースに、テーブルやビューを新たに追加することはできるが、データをINSERTにより追加することはできない。
テンプレートデータベースは、DROP DATABASEで削除できない。
テンプレートデータベースの所有者が誰であっても、CREATEDB権限のあるユーザはそれを複製できる。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2019年2月12日
PostgreSQLではOSコマンドのcreatedb、あるいはSQLコマンドのCREATE DATABASEでデータベースクラスタ内に新しいデータベースを作成することができますが、このとき、内部的にはテンプレートデータベースの複製が行われます。インストール時にはtemplate0とtemplate1の2つのテンプレートデータベースが存在し、データベース作成時にテンプレートデータベースの指定を省略したときはtemplate1が使用されます。
template0は読み取り専用の特殊な属性が設定されていますが、テンプレートデータベースは誰でもそれをCREATE DATABASEでのテンプレートとして指定できる(つまり、CREATEDB権限があれば、それを複製できる)という点が通常のデータベースと異なるだけで、データ更新については通常のデータベース と全く同様に扱われます。ただしデータベースの削除(DROP DATABASEについては)制限があり、IS_TEMPLATEの属性をFALSEに変更(つまり通常 のデータベースに変更)しなければ削除できません。
テンプレートデータベースを作成するには、CREATE DATABASEコマンドの実行時にIS_TEMPLATEをtrueに指定します。また、ALTER DATABASEコマンドでIS_TEMPLATEをtrueあるいはfalseに指定することで、通常のデータベースをテンプレートデータベースに変更すること、あるいはその逆が行えます。CREATE TEMPLATE DATABASEというコマンドはありません。
したがって正解はB、D、Eです。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.