E-PARLOR : PostgreSQL

HomePage :: Blog :: Gallery :: Library :: Forum :: Categories :: Index :: Changes :: Comments :: Login
PostgreSQL

$ cd postgresql-7.4.2
$ ./configure
$ make all
$ make check
$ make install

環境設定
postgres/.bashrc ファイルに下記の設定を追加します。

PG=/usr/local/pgsql
PATH="$PATH":$PG/bin
export MANPATH="$MANPATH":$PG/man
export PGLIB=$PG/lib
export PGDATA=$PG/data

設定を再読み込みします。

$ source ~/.bashrc

データベースクラスタの作成
[postgres@ep postgres]$ initdb --encoding=EUC_JP --no-locale

設定と起動
最後に PostgreSQL のデーモンプロセスである postmaster を起動します。起動する
前に必要に応じて $PGDATA にある postgresql.conf や pg_hba.conf を修正します。
postamster の起動は以下のように行います。

$ pg_ctl -w start

/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
or
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start


バックアップ時
# pg_dumpall > all.dump

リストア時
# initdb
# pg_ctl start
# psql -f all.dump template1



PostgreSQL の実行まで

postgres ユーザーの .bash_profile へ操作設定の記述をします。

  PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
  export POSTGRES_HOME=/usr/local/pgsql
  export PGDATA=/home/postgres/data
  export PGLIB=/usr/local/pgsql/lib
  export LD_LIBRARY_PATH=/usr/local/pgsql/lib

その後にプロファイルをロードし、Postgres 環境の初期化と Postmaster の起動を行います。

  $ . .bash_profile ($ source .bash_profile)
  $ initdb
  $ pg_ctl start -l [LogFileName] -s -D /home/postgres/data/ -o -i


起動時エラーの例

FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 7.2, which is not compatible with t
his version 7.4.2.
postmaster successfully started


PostgreSQLにインデックス作成
運用途中から、インデックスを作成する

session_idにINDEXを張ります。
e-parlor=# create index session_id_idx_ep_play_log_tbl on ep_play_log_tbl(session_id);
CREATE

このINDEXを有効にするためにTABLEの統計情報をそろえる必要があるのでVACUUMを行います。
e-parlor=# vacuum analyze ep_play_log_tbl;
VACUUM

これにより、btreeでのINDEXが作成されました。
e-parlor=#


There are no comments on this page. [Add comment]

1999-2006 The E-PARLOR Project. All right reserved. :: Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
Page was generated in 0.0206 seconds