PostgreSQLスキルアップノート(自己啓発のための個人サイト)
データベースクラスタの作成
【一覧に戻る】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ データベースクラスタの作成
■■■■
■■■■
■■■■ 2012/11/27
■■■■ 使用環境:PostgreSQL9.1.4 (CentOS6.2)
(C) 2012 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★自己都合により実機確認は9.1、マニュアルへのリンクは9.2としています。ご了承下さい。
【マニュアル】
initdbコマンド→●[マニュアル]
■1■ 概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・データベースクラスタとは、
「1つのサーバインスタンスで管理されるデータベースの集合」
・・・複数のDBの集合体。(それを扱うインスタンスはひとつ)
・initdbによって最初に作成されるDBは3個
詳細は別資料「データベースクラスタ関連の補足」 を参照。
■2■ PGDATAディレクトリの作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
データベースクラスタを収容するディレクトリを作成する。
マニュアルではよく使われる場所「PGDATAの通常の位置」として
/var/lib/pgsql/data が例として記載されている。
→●[マニュアル]
ディレクトリは自由であるが、慣例的なpgsql/dataはそのまま用いて
PGDATA=/db1/pgsql/data
としてディレクトリを作成する。
【□】 rootユーザにて
【□】 mkdir -p /db1/pgsql/data
【□】 chown -R postgres:postgres /db1
【□】 ls -lR /db1
■3■ PGDATA環境変数の設定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【□】 postgresユーザにて
【□】 cd;pwd
【□】 vi .bash_profile
以下を行追加して保存
【□】 export PGDATA=/db1/pgsql/data
【□】 一旦postgresをログアウト
■4■ データベースクラスタの作成(initdb)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
以下によりデータベースクラスタの作成を行う。
【□】 postgresユーザにて
【□】 ls -l /db1/pgsql/data
【□】 initdb --encoding=UTF8 --no-locale /db1/pgsql/data
最後のディレクトリ指定(-D /directoryでも同義)部分は
PGDATA環境変数が設定されている場合、本来なくてもよい。
【注意1】指定するエンコーディングはUTF8
データベースのエンコーディングにSJISはない。
PostgreSQLで指定できるデータベースエンコーディングは後述
【注意2】指定するロケールは--no-locale
日本の場合、ロケールの指定は必要がない。
むしろ性能等で問題が発生する可能性があり、
ロケールなしの指定が望ましい。
以上