このページに記載の情報は、2005 年にリリースした PowerGres Plus V2 を対象としています。PowerGres Plus V2 の販売はすでに終了しています。
PowerGres Plus の最新バージョンに関する情報は、製品紹介ページまたは PowerGres 体験記ページを参照してください。
今日、データベースは様々なアプリケーションソフトと連携し、パッケージソフトとして広く利用されています。 このようなパッケージソフトでデータベースを利用する時、製品の統一性を考えると、データベース固有のユーザインタフェースが表に出ることは、避けたいのではないでしょうか。
PowerGres Plus は、少ない操作で簡単にシステムの構築ができるよう、GUI のセットアップでデータベースの構築を行うことができます。 さらに、Linux 版には、製品標準の機能として、サイレントインストールと呼ばれる機能があります。 この機能は GUI を一切表示せず、PowerGres Plus のインストールからセットアップ、データベースの作成、データの登録までを行うことができます。
今回は、このサイレントインストール機能を使って、データベース環境を構築する方法をご紹介します。
通常のインストールは、コマンドを入力しプログラムをインストールした後、セットアップを起動し GUI メニューからデータベースの構築を行います。
図 1: 通常のインストール
サイレントインストールは、最初にコマンドを入力するだけで、その後はユーザに入力を要求しません。 その代わり、インストール時に必要な情報を、「オプション情報ファイル」と呼ばれるテキストファイルに記載しておきます。 サイレントインストールは、この情報をもとにインストールからセットアップまでを自動的に行います。
さらに、セットアップで作成したデータベースに対してテーブルを作成し、データをロードすることもできます。
図 2: サイレントインストール
データベースを組み込んだパッケージソフトをインストールする場合、製品としての統一性を考えると、データベースのインストールを表に見せたくない場合もあります。 サイレントインストールを利用すると、インストール時の入力操作が不要になります。 このため、ユーザに意識させることなく、PowerGres Plus をインストールすることができます。
図 3: パッケージへの組み込み
また、複数のサーバに対して、PowerGres Plus をインストールする場合※は、最初に準備したオプション情報ファイルを利用し、他のマシンにも、簡単に同じデータベース環境を構築することができます。
※ 複数のサーバへのインストールは、サーバと CPU の数に応じたライセンスが必要です。 詳しくは、PowerGres Plus の製品仕様 をご覧ください。
図 4: 複数マシンへのインストール
では、実際にサイレントインストールを使って、PowerGres Plus をインストールする方法をご紹介します。 今回、インストールに使用した環境は、以下のとおりです。
サイレントインストールは、Linux 版でのみ動作します。 Windows 版では、提供されていません。 添付のサンプルスクリプトは、PowerGres Plus が対応するすべてのディストリビューションで動作します。
サイレントインストールは、Linux 版にのみ搭載されています。 標準 PowerGres Plus が対応するすべての Linux ディストリビューションに標準で動作します。
構築するデータベース環境、サイレントインストールの使用目的に応じて、以下の 4 つのファイルを準備します。 これらのファイルは サンプル一覧 にあります。
ファイル | ファイル名 | 説明 |
---|---|---|
オプション情報ファイル | pginstall_data.ini | サイレントインストールを行う際に、必要なファイルです。 インストールのパラメタを記述します。 |
DDL ファイル | pginstall_ddl.sql | 作成したデータベースに対して、SQL 文を実行する場合に必要なファイルです。 CREATE TABLE、COPY などの SQL 文を記述します。 |
データファイル | 任意 (添付のサンプルでは、products_data) | DDL ファイルに COPY コマンドを記述する場合に必要なファイルです。 COPY コマンドに対応したフォーマットで記述します。 |
インストールスクリプト | 任意 (添付のサンプルでは、silent_install.sh) |
サイレントインストールのコマンドを実行する前後に、必要な処理がいくつかあり、これらを記述します。 実際にパッケージソフトに PowerGres Plus を組み込む場合、これらの処理は、パッケージソフトのインストーラで実施することになると思いますので、このファイルを準備する必要はありません。 サイレントインストールがどのようなものか、単体で実行してみたいという場合は、このファイルを準備してください。 |
以下、これらのファイルの詳細を説明します。
インストールを行う際に必要な情報を、pginstall_data.ini というファイルに記述します。 以下は、オプション情報ファイルの記述例です。
図 5: オプション情報ファイルの記述例
オプション情報ファイルには、1 行に 1 つの項目名とその値を行の先頭から記述します。 「=」の前後に、空白およびタブを記述することはできません。 また、行の先頭が「#」の場合、その行はコメントとして扱われます。
以下がオプション情報ファイルの主な項目です。
項目 | 意味 |
---|---|
password | インスタンス管理者用ユーザのパスワード |
instance | インスタンス名 |
instance_directory | インスタンスを格納するディレクトリまでの絶対パス |
backup_directory | バックアップデータを格納するディレクトリまでの絶対パス |
database_name | インスタンスに作成するデータベース名 |
dbspace_name | データベーススペース名 |
dbspace_path | データベーススペースとするファイルの絶対パス |
dbspace_size | データベーススペースのサイズ (MB 単位) |
ddl_file | データベースにテーブルを作成する場合などに実行する SQL 文を記述したファイルの絶対パス |
これらの項目以外にも、記述可能な項目があります。 詳しくは、添付の「PostgreSQL Plus サイレントインストールガイド」を参照してください。
オプション情報ファイルの ddl_file の項目に、ファイルを指定した場合は、そのファイルを準備します。
以下は、DDL ファイルの記述例です。 作成したデータベースに対して実行する SQL 文を記述します。
図 6: DDL ファイルの記述例
DDL ファイルに COPY コマンドを記述し、テーブルにデータを登録する場合は、そのデータファイルを準備します。
以下は、データファイルの記述例です。
図 7: データファイルの記述例
サイレントインストールは、インストールコマンドを実行する前と後に、いくつかの処理が必要です。 パッケージソフトに PowerGres Plus を組み込む場合、これらの処理は、パッケージソフトのインストーラで実施することになると思います。
今回は、サイレントインストールがどのようなものかご紹介するために、サイレントインストールを単体で実行します。 このため、これらの処理を行うインストールスクリプトを準備します。
以下は、インストールスクリプトの記述例です。
図 8: インストールスクリプトの記述例
インストールスクリプトに記述する処理は、以下のとおりです。
項目 | 内容 | |
---|---|---|
インストール前の処理 | インスタンス管理者用 ユーザの登録 |
システムにインスタンス管理者用ユーザを作成し、パスワードを設定します。 |
ディレクトリの作成 | インスタンスディレクトリ、バックアップディレクトリ、データベーススペースを格納するディレクトリを作成します。 また、これらの所有権をインスタンス管理者用ユーザに設定します。 | |
環境変数の設定 | インスタンス管理者用ユーザが PowerGres Plus を使用できるように、以下の環境変数を設定します。
|
|
インストールコマンドの実行 | インストールコマンド |
インストールコマンド (install.sh) に -S オプションを指定して、サイレントインストールを実行します。 以下の形式で指定します。 install.sh -S ユーザ名 オプション情報ファイル名 ユーザ名インスタンス管理者用ユーザを指定します。 オプション情報ファイル名オプション情報ファイルの準備 で準備したオプション情報ファイルを絶対パスで指定します。 |
インストール後の処理 | 実行結果の確認 | 実行結果は、シェルの特殊パラメタ $? に格納されます。 インストールスクリプトでは、echo コマンドを使用して、これを画面に表示します。 |
サイレントインストールを実行する準備が整いましたので、root でインストールスクリプトを実行します。 スクリプトを実行するとインストールがはじまり、以下のような情報が表示されます。
図 9: インストール状況
実行結果は、シェルの特殊パラメタ $? に格納されます。 今回のサンプルでは、これを終了ステータスとして画面に表示しています。
パッケージソフトに PowerGres Plus を組み込む場合は、パッケージソフトのインストーラからこの値を参照してください。
図 10: インストール結果
0: インストールは正常に完了しました。
0 以外: インストールでエラーが発生しました。
エラーが発生した場合は、添付の「PostgreSQL Plus サイレントインストールガイド」の「2.4 インストール結果の確認」を参照し、原因を取り除いてから、再度インストールを行ってください。
代表的なエラーとその対処は以下のとおりです。
終了ステータス | 意味 |
---|---|
70 | インストールは成功しましたが、ディスクの空き容量が不足しているため、オプション情報ファイルで指定したデータベース環境を構築できません。 PowerGres Plus をアンインストールし、十分なディスク容量を確保した後、再度インストールを行ってください。 これ以外にも、オプション情報ファイルの記述やインストールコマンドの指定に誤りがあった場合にも、このエラーは発生します。 詳しくは、「PostgreSQL Plus サイレントインストールガイド」を参照してください。 |
99 | PowerGres Plus がすでにインストールされている可能性があります。 PowerGres Plus をアンインストールした後、再度インストールを行ってください。 |
以下は、インストールが正常に終了した後に、データベースを参照した例です。 インストール時に指定したデータが正しく格納されていることがわかります。
図 11: 正常にインストールが完了した環境
サイレントインストールは、事前にいくつかのファイルを準備しておく必要がありますが、一度作成すれば、あとはコマンド 1 つで、インストールからセットアップ、データベースの作成、データの登録までを自動的に行うことができます。
今回は、シンプルなデータベース環境の作成例をご紹介しましたが、オプション情報ファイル、DDL ファイルには、さらに詳細な情報を記述することができますので、多様なデータベース環境の構築が可能です。
ご紹介したサンプルスクリプトは、サイレントインストールのマニュアルとともに、サンプル一覧 に公開してありますので、ぜひ、ご利用ください。