*PostgreSQL インストール [#e06dd67d]
#contents2_1(compact=true,depth=1-2)




**メモ [#ze0e2a59]
-root ユーザ
 #

-sudo が使えるユーザ
 $

-postgres ユーザ 
 [postgres@hoge]$


&br;
*yum でインストールする [#o5ab6d5b]

**インストールする [#kb47404a]
試してないけど、これかな。
 $ sudo yum install postgresql-devel


&br;
*ソースからインストールする [#z297cd76]

**1) postgres ユーザが存在するか確認する [#i5330349]
 $ sudo cut -d: -f1 /etc/passwd

***ユーザが存在した場合、postgres ユーザのグループの確認 [#h87da12b]
 $ id postgres

***ユーザが存在しなかった場合、作成する [#v0d1b0df]
 $ sudo groupadd postgres
 $ sudo useradd -g postgres postgres

**2) フォルダ作成 [#f51a3344]
 $ sudo mkdir /usr/local/pgsql
 $ sudo chown postgres:postgres /usr/local/pgsql/

**3) インストールに必要なモジュールをインストールする [#e78b0217]
試してないけど、ここらへんかな。
 $ sudo yum install readline-devel 
 $ sudo yum install zlib-devel
 $ sudo yum install openssl 

**4) インストール [#n8d9f761]
 $ cd /usr/local/src
 $ wget ftp://ftp.sra.co.jp/pub/cmd/postgres/8.3.7/postgresql-8.3.7.tar.gz
 $ tar zvxf postgresql-8.3.7.tar.gz
 
 $ sudo chown -R postgres:postgres postgresql-8.3.7
 
 $ su - postgres
 [postgres@hoge]$ cd /usr/local/src/postgresql-8.3.7
 [postgres@hoge]$ ./configure --prefix=/usr/local/pgsql
 [postgres@hoge]$ make
 [postgres@hoge]$ make install


&br;
*設定 [#c34fc6d0]
**共有ライブラリに追加 [#y238d9e6]
***ファイルの修正 [#e913d118]
pgsql.conf を新たに作成し「/usr/local/pgsql/lib」を記述する。

 $ sudo vim /etc/ld.so.conf.d/pgsql.conf
 
 /usr/local/pgsql/lib

***ldconfig 更新 [#o527f332]
 $ sudo ldconfig
 
***確認 [#jb1d9703]
 $ ldconfig -p | grep 'pgsql'


**環境変数の設定(パスを通す) [#z96e9e22]
***ファイルを修正する [#i39c730b]
環境にあわせて適当に設定してください。&br;
/usr/local/pgsql/data にデータベースファイルを置く場合は、PGDATA=/usr/local/pgsql/data になる。&br;

 $ su - postgres
 [postgres@hoge]$ vim .bash_profile

-変更前
 PATH=$PATH:$HOME/bin
 
 export PATH

-変更後
 # PostgreSQL
 POSTGRES_HOME=/usr/local/pgsql
 PGLIB=$POSTGRES_HOME/lib
 PGDATA=/home/postgres/data
  
 PATH=$PATH:$HOME/bin:$POSTGRES_HOME/bin:
 
 export POSTGRES_HOME PGLIB PGDATA PATH
 export MANPATH="$MANPATH":$POSTGRES_HOME/man

***設定を反映させる [#q7ce98b5]
 [postgres@hoge]$ source .bash_profile


&br;
*PostgreSQL 設定 [#s3e9278e]
**1) データベースファイルを置く場所を作成 [#g123849f]
/usr/local/pgsql/data にデータベースファイルを置く場合は、以下のようにフォルダを作成する。
 [postgres@hoge]$ cd /usr/local/pgsql/
 [postgres@hoge]$ mkdir data 

今回は、/home/postgres/data に置くので、以下のようにフォルダを作成する。
 [postgres@hoge]$ cd /home/postgres/
 [postgres@hoge]$ mkdir data


**2) データベースの初期化 [#z3c7d284]
新しいPostgreSQL データベースクラスタ(またはデータベースシステム)を作成する。&br;
no-localeは日本語を使うときに必ずつける。&br;
データベースファイルを置く場所を /usr/local/pgsql/data にした場合、 -D /usr/local/pgsql/data になる。&br;
なお、-Dオプションは省略すると、環境変数$PGDATAで指定しているディレクトリになる。

 [postgres@hoge]$ initdb --encoding=UTF8 --no-locale -D /home/postgres/data

パスが通ってない場合
 [postgres@hoge]$ /usr/local/pgsql/bin/initdb --encoding=UTF8 --no-locale -D /home/postgres/data


**3) 設定ファイル(postgresql.conf)修正 [#rd30bf95]
postmaster はデフォルトでは UNIX ドメインソケット接続しか受け付けない。&br;
そのため、TCP/IP ソケットでの他ホストからの接続を許可する。&br;
postgresql.conf に以下の2行を追記する。&br;
なお、データベースファイルを置く場所を /usr/local/pgsql/data にした場合、/usr/local/pgsql/data/postgresql.conf になる。

 [postgres@hoge]$ vim /home/postgres/data/postgresql.conf
 
 listen_addresses = '*'
 port = 5432

**4) 設定ファイル(pg_hba.conf)の修正 [#pca5e55d]
デフォルトでは自ホストからの接続のみ許可になっているので、 PostgreSQL へのクライアントの接続許可の設定を行う。&br;
pg_hba.conf に1行を追記する。&br;
なお、データベースファイルを置く場所を /usr/local/pgsql/data にした場合、/usr/local/pgsql/data/pg_hba.conf になる。

 [postgres@hoge]$ vim /home/postgres/data/pg_hba.conf
 
 変更前
 # IPv4 local connections:
 host    all         all         127.0.0.1/32          trust
  ↓
 変更後
 # IPv4 local connections:
 host    all         all         127.0.0.1/32          trust
 host    all         all         192.168.0.0/24        trust


&br;
*ログの設定 [#a48ef8fb]
syslog に出力するようにする。&br;

**設定ファイル(postgresql.conf)の修正 [#cae4f6d9]

 [postgres@hoge]$ vim /home/postgres/data/postgresql.conf

 変更前
 #log_destination = 'stderr'
  ↓
 変更後
 log_destination = 'syslog' 

 変更前
 #syslog_facility = 'LOCAL0'
 #syslog_ident = 'postgres'
  ↓
 変更後
 syslog_facility = 'LOCAL0'
 syslog_ident = 'postgres'

 変更前
 #log_statement = 'none'
  ↓
 変更後
 log_statement = 'all'

**設定ファイル(syslog.conf)の修正 [#q18ef08e]
以下の行を追記する。&br;
他に local0 が使われていないかも確認する。使われていたら、別のもので。

 $ sudo /etc/syslog.conf
 
 local0.*        /var/log/postgresql.log

/var/log/message に postgres のログを出力しないように、以下も修正する。

 $ sudo /etc/syslog.conf
 
 変更前
 .info;mail.none;authpriv.none;cron.none        /var/log/messages
  ↓
 変更後
 .info;mail.none;authpriv.none;cron.none;local0.none        /var/log/messages
 
**再起動 [#v2dec3bf]
***syslog 再起動 [#hbcd53b8]
 $ sudo /etc/rc.d/init.d/syslog restart

***PostgreSQL 再起動 [#m3e1e6b2]
PostgreSQL が起動している場合は、PostgreSQL も再起動する。
 [postgres@hoge]$ pg_ctl restart
もしくわ
 $ sudo /etc/rc.d/init.d/postgresql restart

&br;
*パスワード設定 [#l25014c7]
**postgres ユーザのパスワード設定 [#bddd50cd]
 $ sudo passwd postgres


&br;
*自動起動 [#w7594292]
**PostgreSQL 起動のためファイルコピー [#z7a9d681]
 $ sudo cp /usr/local/src/postgresql-8.3.7/contrib/start-scripts/linux /etc/init.d/postgresql
 $ sudo chmod 755 /etc/init.d/postgresql

データベースファイルを置く場所を、/home/postgres/data にしたので、PGDATA を修正する。
 $ sudo vim /etc/init.d/postgresql

 変更前
 PGDATA="/usr/local/pgsql/data"
  ↓
 変更後
 PGDATA="/home/postgres/data"

**PostgreSQL 自動起動設定に postgresql を追加 [#f9793310]
 $ sudo chkconfig --add postgresql

**PostgreSQL 自動起動設定 [#d5d50386]
 $ sudo chkconfig postgresql on

**PostgreSQL 自動起動設定の確認 [#e335cd43]
ランレベル 2, 3, 4, 5 になっていればよい。
 $ chkconfig --list postgresql


&br;
*PostgreSQL 起動 [#q31b1a84]
**自動起動スクリプトを使って起動する [#q2ea9f9a]
私はこっちで起動する。
***起動 [#y96ccbf2]
 $ sudo /etc/rc.d/init.d/postgresql start

***起動確認 [#o442c48a]
 $ su - postgres
 [postgres@hoge]$ psql -l

***停止 [#x47a1f57]
 $ sudo /etc/rc.d/init.d/postgresql stop


**pg_ctl で起動する [#b532507c]
***起動 [#ld91467c]
 [postgres@hoge]$ pg_ctl start

環境変数$PGDATA が設定されていない場合は、こっち↓。
 [postgres@hoge]$ pg_ctl start -D /home/postgres/data

***起動確認 [#n596444f]
 [postgres@hoge]$ psql -l

***停止 [#o5a5a140]
 [postgres@hoge]$ pg_ctl stop
 
環境変数$PGDATA が設定されていない場合は、こっち↓。
 [postgres@hoge]$ pg_ctl stop -D /home/postgres/data





&br;
*Comment [#ld60a577]
- !!! --  &new{2012-12-14 (金) 15:50:41};

#comment_nospam
&br;
#counter

IP:125.3.54.204 TIME:"2012-12-14 (金) 15:50:41" REFERER:"http://wiki.minaco.net/index.php?VMwareFusion%2FCentOS5%2F12.PostgreSQL%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" USER_AGENT:"Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20121121 Firefox/10.0.11"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS