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