「S2 運用管理 - S2.1 インストール方法」からの出題です。
データベースクラスタが作成され、データベースにpsqlなどで接続できるようになる。
データベースクラスタの作成先となるディレクトリを事前に作成しておいても良いが、中身は空でなければならない。
template0、template1、postgresの3つのデータベースが作成される。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2023年3月8日
initdbはデータベースクラスタを新規に作成するコマンドで、データベースを保存するディレクトリの作成、共有カタログテーブルの作成、テンプレートデータベースtemplate0とtemplate1およびデータベースpostgresの作成などを実施します。
データベースのサーバープロセスがデータベースファイルにアクセスできる必要があるので、initdbはデータベースの管理者ユーザの権限で実行する必要があります。ただし、Linuxのrootユーザではデータベースプロセスを実行できない制限があるので、データベースファイルの所有者をrootにすることはできず、initdbをrootで実行することはできません。
initdbはデータベースクラスタのディレクトリを新規に作成する機能がありますが、Linuxなどでは、そのディレクトリに書き込み権限がない場合があります。この問題を回避するため、root権限でデータベースクラスタのディレクトリを作成した後、chownコマンドでディレクトリの所有者をデータベース管理者ユーザに変更してから、initdbを実行する、という手順を踏むことが多いです。ただし、このディレクトリの中身は空である必要があります(空でないと、initdbの実行時にエラーになる)。
initdbはデータベースクラスタのディレクトリとデータベースファイルを作成するだけで、データベースのサーバープロセスの起動は行いません。従って、これだけではデータベースに接続することもできません。別途、サーバープロセスを起動するコマンドを実行する、あるいはシステム起動時に自動的にサーバーが起動する設定をする、といった必要があります。
従って、正解はA、D、Eです。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.