今回は、Silverの「S2 運用管理 - S2.1 インストール方法」からの出題です。
initdb の実行前に環境変数 PGDATA を設定しておく必要がある。
initdb を実行したユーザが、データベース管理者となる。
initdb は OS の管理者権限を持つユーザで実行する必要がある。
initdb を実行すると、2つのテンプレートデータベースと、postgres という名前のデータベースが作成される。
initdb を実行するとデータベースサーバプロセスが自動的に起動される。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2011年11月8日
正解はBとDです。
initdb コマンドは、その名が示すようにデータベースを初期化するコマンドで、具体的には PostgreSQL のデータベースクラスタを作成します。
データベースクラスタを作成するディレクトリは、-D または --pgdata オプションで指定できますが、オプションで指定しなかった場合は、環境変数PGDATA で設定したディレクトリが使われます。
作成されるデータベースファイルは、initdb コマンドを実行したユーザにのみ読み書き権限がある状態で作成され、そのユーザがデータベース管理者となります。慣習的には、postgres というユーザで initdb を実行するので、postgresユーザがデータベースの管理者になります。
データベースの管理者は、OS の管理者とは別です。Linux など Unix 系 OS のroot ユーザで initdb コマンドを実行することはできません。
initdb コマンドによって作成されるデータベースクラスタには、template0,template1 という2つのテンプレートデータベースと、postgres というデータベースが含まれます。
initdb コマンドは、指定のディレクトリの下にデータベースクラスタのファイルやディレクトリを作成するだけです。データベースサーバプロセスは、別途pg_ctl start というコマンドを使って起動する必要があります。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.