initdbコマンドを使用して、インスタンスを作成する方法について説明します。
PGDATA環境変数またはDオプションで指定したディレクトリを、データベースクラスタの格納先のディレクトリとしてインスタンスを作成します。また、initdbコマンドを実行したユーザーが、インスタンス管理者になります。
注意
initdbコマンドで作成したインスタンスは、WebAdminでは管理できません。
複数のインスタンスを作成する場合、データベースクラスタとポート番号は重複しないようにしてください。
参照
initdbコマンドの詳細については、“PostgreSQL文書”の“リファレンス”の“initdb”を参照してください。
以下にインスタンスの作成方法を説明します。
インスタンス管理者となるOSユーザーアカウントの使用
インスタンス管理者となるOSユーザーアカウントでサーバに接続します。
OSのスーパーユーザー(root)を使用することはできません。
ここでは、サーバに接続しているユーザーをOSのスーパーユーザーからOSのユーザーアカウント“symfo”に変更する例を示します。
# su symfo
環境変数の設定
インスタンスを作成するサーバに、環境変数を設定します。
以下の環境変数を設定します。
環境変数PATH
インストールディレクトリ/binを追加します。
環境変数MANPATH
インストールディレクトリ/share/manを追加します。
環境変数LD_LIBRARY_PATH
インストールディレクトリ/libを追加します。
インストールディレクトリが“/opt/symfoserver64”の場合の環境変数の設定例を示します。
$ PATH=/opt/symfoserver64/bin:$PATH ; export PATH $ MANPATH=/opt/symfoserver64/share/man:$MANPATH ; export MANPATH $ LD_LIBRARY_PATH=/opt/symfoserver64/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH
$ setenv PATH /opt/symfoserver64/bin:$PATH $ setenv MANPATH /opt/symfoserver64/share/man:$MANPATH $ setenv LD_LIBRARY_PATH /opt/symfoserver64/lib:$LD_LIBRARY_PATH
データベースクラスタの作成
initdbコマンドにデータベースクラスタの格納先ディレクトリを指定してデータベースクラスタを作成します。必要に応じて、トランザクションログ格納先やロケールの設定オプションを指定してください。
$ initdb -D /database/inst1 --xlogdir=/transaction/inst1 --lc-collate="C" --lc-ctype="C"
注意
I/O負荷分散のため、トランザクションログ格納先は、データベースクラスタの格納先のディスク装置やバックアップデータ格納先のディスク装置とは別のディスク装置に格納することを検討してください。
文字列の並び換え順と文字の分類には “C”または“POSIX”を指定してください。“C”または“POSIX”以外を指定した場合、言語や国・地域特有のルールに従った動作をしますが、性能が劣化します。また、ロケールの異なるシステム上でアプリケーションなどを動作させる場合に、改修が必要になります。
例えば以下のように指定します。
initdb --locale="C" --lc_messages="ja_JP.UTF8" initdb --lc-collate="C" --lc-ctype="C"
参照
ロケールに関する詳細は、“PostgreSQL文書”の“サーバの管理”の“多言語対応”の“ロケールのサポート”を参照してください。
ポート番号の設定
OSの/etc/servicesファイルにポート番号とインスタンス名を設定します。ポート番号は、他のソフトウェアと重ならないように設定しください。
ここで設定したポート番号を、postgresql.confのportパラメータに設定してください。デフォルトで“26500”が設定されています。
コアファイル出力先の設定
調査情報の採取に備えてコアファイルの出力先を指定する場合は、postgresql.confのcore_directory、core_contentsパラメータの設定を行ってください。
参照
これらのパラメータの設定内容は、“運用ガイド”の“パラメータ”を参照してください。
バックアップ格納先の設定
データベースの異常に備えてバックアップを行う場合は、バックアップデータ格納先など、バックアップに関する設定を行ってください。
参照
バックアップの指定については、“運用ガイド”の“バックアップ方法”を参照してください。
インスタンスの起動
インスタンスを起動します。
pg_ctlコマンドのstartモードにより起動します。
wオプションを指定することを推奨します。これにより、インスタンスの起動の完了を待ってからコマンドが復帰します。wオプションを指定しない場合、インスタンスの起動が正常に完了したのか、失敗したのかが分からない場合があります。
$ pg_ctl start -w -D /database/inst1
参照
pg_ctlコマンドの詳細については、“PostgreSQL文書”の“リファレンス”の“pg_ctl”を参照してください。