PostgreSQL Plus 管理者ガイド
目次 索引 前ページ次ページトップページ

第2章 PostgreSQL Plusの運用までの流れ> 2.1 セットアップ手順

2.1.2 セットアップ前の準備

セットアップ前の準備について、以下に説明します。

インスタンス管理者用ユーザの登

セットアップは、スーパユーザ(root)以外のユーザで実行する必要があります。あらかじめ、インスタンス管理者用のユーザをシステム(OS)に登録し、そのユーザでログインしてから作業してください。ここでは、ユーザ名に“postgres”、グループ名に“postgres”を追加したと仮定して以降の手順を説明します。

ユーザの追加は、スーパユーザ(root)で、useraddコマンド、または、OSに添付のツールにより追加することができます。

ディレクトリの作成

セットアップでは、インスタンスを格納するディレクトリ、データベーススペース、およびバックアップディレクトリにファイルを作成します。あらかじめ、インスタンス管理者の権限で書き込み可能なディレクトリを用意してください。また、インスタンスを格納するディレクトリ、データベーススペース、およびバックアップディレクトリは、それぞれ別のディスクに配置してください。

ここでは、インスタンスを格納するディレクトリ、データベーススペース、バックアップディレクトリ用にそれぞれ、ディスクを1個ずつ用意し、以下のディレクトリを作成しマウントしておきます。

ディレクトリの作成、マウントは、スーパユーザ(root)で実行します。

インスタンスを格納するディレクトリ

/PlusData/postgres

データベーススペース

/PlusDbspace/postgres

バックアップディレクトリ

/PlusBackup/postgres

ここでは、インスタンスを格納するディスクを /PlusData、データベーススペースを格納するディスクを /PlusDbspace、バックアップを /PlusBackupにマウントします。

PostgreSQL Plus では、性能と信頼性の面でext3ファイルシステムを推奨します。

ディレクトリの権限の設定

ディレクトリは、インスタンス管理者用ユーザ“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

環境変数LANGに、ja_JP.eucJP(日本語)、ja_JP.UTF-8(日本語)、およびC(英語)以外を指定しないでください。PostgreSQL Plus Setupのファイル選択画面で、正しく表示されない場合があります。

カーネルパラメタの変

3つ以上のインスタンスを動作させる場合は、ディストリビューションのカーネルパラメタを変更する必要があります。

動作させるインスタンスが 2以下の場合は、本作業は必要ありません。

変更が必要なパラメタは、以下のものです。

パラメタ名

適切な値

kernel.shmmax (sysctl)
/proc/sys/kernel/shmmax (kparam)

2684354560以上の値を指定します。(注1)

kernel.shmall (sysctl)
/proc/sys/kernel/shmall (kparam)

(655360 × インスタンス数)以上の値を指定します。(注2)

kernel.shmmni (sysctl)
/proc/sys/kernel/shmmni (kparam)

(11 × インスタンス数)以上の値を指定します。(注2)

kernel.sem (sysctl)
/proc/sys/kernel/sem (kparam)

このパラメタには、空白で区切った4つの値を指定します。

  • 1番目
    30 以上の値。ただし、CPU 数が 16 を超えるときには、CPU数 16 個に対し、1ずつ値を増やしてください。(注1)
  • 2番目
    (1200 × インスタンス数)以上の値。(注2)
  • 3番目
    32 以上の値。(注1)
  • 4番目
    (350 × インスタンス数)以上の値。(注2)

kernel.msgmni (sysctl)
/proc/sys/kernel/msgmni (kparam)

(2 × インスタンス数)以上の値を指定します。(注2)

注1)他の製品でチューニングが指示されている場合は、最大の値を設定してください。ディストリビューションのデフォルト値がここで指示した値よりも大きい場合には、ディストリビューションのデフォルト値を指定してください。

注2)現在設定されている値に、ここで指定している値を加算してください。

ディストリビューションごとに、カーネルパラメタの変更方法が異なります。

ディストリビューションとカーネルパラメタの設定方法の対応を以下に示します。

ディストリビューション

1.sysctlの設定

2.kparamの設定

Red Hat Enterprise Linux AS (v.4 for x86)
Red Hat Enterprise Linux ES (v.4 for x86)
Red Hat Enterprise Linux AS (v.3 for x86)
Red Hat Enterprise Linux ES (v.3 for x86)
Red Hat Enterprise Linux AS (v.2.1 for x86)
Red Hat Enterprise Linux ES (v.2.1 for x86)

×

Turbolinux 10 Server(kparamパッケージをインストールしていない時)

×

Turbolinux 10 Server(kparamパッケージをインストールしている時)

×

○:必要な設定、×:不要な設定

  1. sysctlによる設定

    /etc/sysctl.conf にパラメタを記述します(値は一例です)。

    kernel.shmmax = 2717908992
    kernel.shmall = 2752512
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 1178
    kernel.msgmni = 20

    OS の root 権限を持つユーザで、以下のコマンドを実行します。

    # sysctl -p

  2. kparamの設定

    kparamパッケージを使用している場合は、下記の設定が必要です。

    kparam パッケージがインストールされているかどうかは、rpmコマンドの-qオプションで確認できます。

    /etc/sysconfig/kparamにパラメタを記述します(値は一例です)。

    /proc/sys/kernel/shmmax 2717908992
    /proc/sys/kernel/shmall 2752512
    /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

目次 索引 前ページ次ページトップページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006