PREPARATION
受験対策

Silverの例題解説
「S2.1 インストール方法」

「S2 運用管理 - S2.1 インストール方法」からの出題です。

例題

2.133

initdbコマンドの説明として最も適切なものを3つ選びなさい。

  1. データベースの管理者となるユーザで実行する。
  2. Linuxではrootがシステム管理者なので、initdbもrootで実行する。
  3. データベースクラスタが作成され、データベースにpsqlなどで接続できるようになる。

  4. データベースクラスタの作成先となるディレクトリを事前に作成しておいても良いが、中身は空でなければならない。

  5. 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です。

例題解説についてのご質問やご意見は以下からご連絡ください。

※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。