PostgreSQL Plus 管理者ガイド |
目次 索引 |
セットアップ前の準備について、以下に説明します。
セットアップは、スーパユーザ(root)以外のユーザで実行する必要があります。あらかじめ、インスタンス管理者用のユーザをシステム(OS)に登録し、そのユーザでログインしてから作業してください。ここでは、ユーザ名に“postgres”、グループ名に“postgres”を追加したと仮定して以降の手順を説明します。
ユーザの追加は、スーパユーザ(root)で、useraddコマンド、または、OSに添付のツールにより追加することができます。
セットアップでは、インスタンスを格納するディレクトリ、データベーススペース、およびバックアップディレクトリにファイルを作成します。あらかじめ、インスタンス管理者の権限で書き込み可能なディレクトリを用意してください。また、インスタンスを格納するディレクトリ、データベーススペース、およびバックアップディレクトリは、それぞれ別のディスクに配置してください。
ここでは、インスタンスを格納するディレクトリ、データベーススペース、バックアップディレクトリ用にそれぞれ、ディスクを1個ずつ用意し、以下のディレクトリを作成しマウントしておきます。
ディレクトリの作成、マウントは、スーパユーザ(root)で実行します。
インスタンスを格納するディレクトリ |
/PlusData/postgres |
データベーススペース |
/PlusDbspace/postgres |
バックアップディレクトリ |
/PlusBackup/postgres |
ここでは、インスタンスを格納するディスクを /PlusData、データベーススペースを格納するディスクを /PlusDbspace、バックアップを /PlusBackupにマウントします。
|
ディレクトリは、インスタンス管理者用ユーザ“postgres”だけが書き込み可能な権限にしておきます。ディレクトリの権限の設定は、スーパユーザ(root)で実行します。
ファイルマネージャから、以下のように設定します。
コマンドで行う場合は、以下のように入力します。
# chown postgres /PlusData/postgres /PlusDbspace/postgres /PlusBackup/postgres # chgrp postgres /PlusData/postgres /PlusDbspace/postgres /PlusBackup/postgres # chmod 700 /PlusData/postgres /PlusDbspace/postgres /PlusBackup/postgres |
PostgreSQL Plusおよびmanコマンドを使用するためには、以下の環境変数の設定が必要です。
インスタンス管理者用ユーザ(postgres)でログインしなおし、以下の環境変数を設定します。
JDBCドライバを使用する場合は、環境変数CLASSPATHの設定が必要です。詳細は、“JDBCドライバユーザーズガイド”を参照してください。
環境変数の設定例を以下に示します。
■sh、bashの場合
$ PATH=/usr/local/pgsqlplus/bin:$PATH ; export PATH $ MANPATH=/usr/local/pgsqlplus/man:$MANPATH ; export MANPATH |
■csh、tcshの場合
% setenv PATH /usr/local/pgsqlplus/bin:$PATH % setenv MANPATH /usr/local/pgsqlplus/man:$MANPATH |
|
3つ以上のインスタンスを動作させる場合は、ディストリビューションのカーネルパラメタを変更する必要があります。
動作させるインスタンスが 2以下の場合は、本作業は必要ありません。
変更が必要なパラメタは、以下のものです。
パラメタ名 |
適切な値 |
---|---|
kernel.shmmax (sysctl) |
PostgreSQL Plus Setupで指定するデータベースバッファの大きさ以上の値をバイト単位で指定します。データベースバッファの大きさは、デフォルトでは実メモリ量の約半分の値となります。(注1) |
kernel.shmall (sysctl) |
kernel.shmmaxで指定した値と同じ値を指定します。(注2) |
kernel.shmmni (sysctl) |
(11*インスタンス数)以上の値を指定します。(注2) |
kernel.sem (sysctl) |
このパラメタには、空白で区切った4つの値を指定します。
|
kernel.msgmni (sysctl) |
(2×インスタンス数)以上の値を指定します。(注2) |
注1)他の製品でチューニングが指示されている場合は、最大の値を設定してください。
ディストリビューションのデフォルト値がここで指示した値よりも大きい場合には、ディストリビューションのデフォルト値を指定してください。
注2)現在設定されている値に、ここで指定している値を加算してください。
ディストリビューションごとに、カーネルパラメタの変更方法が異なります。
ディストリビューションとカーネルパラメタの設定方法の対応を以下に示します。
ディストリビューション |
1.sysctlの設定 |
2.boot.sysctlの設定 |
3.kparamの設定 |
---|---|---|---|
Red Hat Enterprise Linux AS (v. 3) |
○ |
× |
× |
Turbolinux Enterprise Server 8 powered by UnitedLinux |
○ |
○ |
× |
Turbolinux 10 Server(kparamパッケージをインストールしていない時) |
○ |
× |
× |
Turbolinux 10 Server(kparamパッケージをインストールしている時) |
× |
× |
○ |
○:必要な設定、×:不要な設定
kernel.shmmax = 536870912 kernel.shmall = 538968064 kernel.shmmni = 4096 kernel.sem = 250 32000 100 1178 kernel.msgmni = 20 |
OS の root 権限を持つユーザで、以下のコマンドを実行します。
# sysctl -p |
# chkconfig -s boot.sysctl "runlevel" |
"runlevel"には、起動するランレベルを数字で指定してください。
例:ランレベル3と5の時に、boot.sysctlを有効にしたい場合
# chkconfig -s boot.sysctl 35 |
/etc/sysconfig/kparamにパラメタを記述します(値は一例です)。
/proc/sys/kernel/shmmax 536870912 /proc/sys/kernel/shmall 538968064 /proc/sys/kernel/shmmni 4096 /proc/sys/kernel/sem 250 32000 100 1178 /proc/sys/kernel/msgmni 20 |
編集後、以下のコマンドを実行します。
#/etc/rc.d/init.d/kparam start |
目次 索引 |