今回は、Silverの「運用管理 - インストール方法(テンプレートデータベース)」からの出題です。
CREATE DATABASEを実行すると、内部的にはテンプレートデータベースの1つがコピーされる。
使用するテンプレートデータベースを指定しなければ、デフォルトではtemplate1が使用される。
デフォルトでは、データベースクラスタ内に2つのテンプレートデータベースが存在している。
データベースクラスタ内に作成できるテンプレートデータベースの数は最大で5個までである。
データベースがテンプレートデータベースかどうかを設定するフラグがあり、そのフラグが設定されているデータベースは削除(DROP DATABASE)できない。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2017年5月22日
initdbによって新規に作成されたデータベースクラスタには、template0とtemplate1の2つのテンプレートデータベースが含まれます。
CREATE DATABASE文(あるいはcreatedbコマンド)によってデータベースを新規に作成すると、内部的にはテンプレートデータベースのコピーが作成されますが、このとき使用するテンプレートデータベースを指定しなければtemplate1が使用されます。
テンプレートデータベースは、データベースカタログpg_databaseのdatistemplateがtrueになっていること以外、データベースクラスタ内の他のデータベースと大きな違いがあるわけではありませんが、この属性が設定されていれば、CREATEDB権限があるユーザはすべて、そのテンプレートデータベースを参照してデータベースを作成できます。また、この属性が設定されているとDROP DATABASEで削除できなくなります。逆に、datistemplateがfalseの場合は、それをテンプレートとしてデータベースを作成できるのはデータベースの所有者およびスーパーユーザに制限され、またデータベースの削除も可能になります。
データベースクラスタ内に作成できるテンプレートデータベースの数に制限はありません。
誤っているものを選ぶ問題なので、正解はDです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.