TOPメニュー > postgresqlの構築

■postgresqlの構築



postgres7.1.1(cd-rom格納)の構築
suになる

ユーザを作成
/usr/sbin/adduser postgres

ディレクトリ作成&権限付与
mkdir /usr/local/pgsql
chown postgres:postgres /usr/local/pgsql
mkdir /usr/local/src
chown postgres:postgres /usr/local/src mount

/mnt/cdrom
su - postgres
cd /usr/local/src
tar zxvf /mnt/cdrom/archives/postgresql-7.1.1.tar.gz

パッチを当てる
sh /mnt/cdrom/archives/patches-7.1.1/PATCH

上が当たんなければ↓
tar zxvf /mnt/cdrom/archives/patches-7.1.1/postgresql-7.1.1-patched.tar.gz

コンフィグレーション
cd /usr/local/src/postgresql-7.1.1
./configure --enable-multibyte=EUC_JP --enable-syslog

make all
make install

パスの指定 bashなら
/home/postgresの.bashrcに
PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man

設定を反映
source ~/.bashrc

データベースクラスタリング
initdb

確認テスト
cd /usr/local/src/postgresql-7.1.1
make check

postmasterの起動
postmaster -i &

終了
・postmasterの終了
pg_ctl stop


・バックアップ&リストア(sql文とデータ)
バックアップ
pg_dump dbname > dbname.out

リストア
ユーザの追加
createuser ユーザ名

createdb dbname
psql -e dbname < dbname.out

・権限について
付与(例:nobodyユーザの追加)
psql dbname
\z  →  テーブルの権限を確認
grant all on テーブル名 to nobody;

剥奪(例:testユーザの剥奪)
revoke all on テーブル名 to test;