最近よく開発用の環境作ってはぶっ潰すというのを繰り返してて、postgresもよく作るけど、前の環境のhistoryとかみて、「ああ、そうそう」って感じでやってたりするので、マニュアルにも書いてあるけど、自分用のをメモ。
あくまでも開発用!約束だぞ!
su -
cd /usr/local/src/
wget http://ftp.postgresql.org/pub/source/v9.3.1/postgresql-9.3.1.tar.gz
gunzip postgresql-9.3.1.tar.gz
tar xf postgresql-9.3.1.tar
cd postgresql-9.3.1
./configure
gmake && gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres. /usr/local/pgsql/data
chmod 777 /var/log/

su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /var/log/postgres.log
マニュアルと違う所は-lでログ出力のパスを変えてある所かしら。 いいかげんchefのレシピかけやとかね…

その他、まずだるいのでiptables停止。
[root@localhost postgresql-9.3.1]# /etc/init.d/iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@localhost postgresql-9.3.1]# chkconfig iptables off
[root@localhost ~]# chkconfig --list | fgrep iptables
iptables       0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# 

あとこの開発用サーバvagrant+virtualboxなので、自分のローカルからつながるように設定する。
listenするアドレスを開放
[postgres@localhost data]$ pwd
/usr/local/pgsql/data
[postgres@localhost data]$
[postgres@localhost data]$ diff -uBb postgresql.conf.org postgresql.conf
--- postgresql.conf.org 2013-11-10 17:34:51.709013292 +0900
+++ postgresql.conf 2013-11-10 18:41:30.390010076 +0900
@@ -56,7 +56,7 @@

 # - Connection Settings -

-#listen_addresses = 'localhost' # what IP address(es) to listen on;
+listen_addresses = '*' # what IP address(es) to listen on;
  # comma-separated list of addresses;
  # defaults to 'localhost'; use '*' for all
  # (change requires restart)
[postgres@localhost data]$ 

んで、pg_hba.confで全部許す
[postgres@localhost data]$ diff -ubB pg_hba.conf.org pg_hba.conf
--- pg_hba.conf.org 2013-11-10 18:45:02.897007875 +0900
+++ pg_hba.conf 2013-11-10 18:33:15.194009866 +0900
@@ -87,6 +87,8 @@
 # IPv6 local connections:
 host    all             all             ::1/128                 trust

+host all all 0.0.0.0/0 trust
+
 # Allow replication connections from localhost, by a user with the
 # replication privilege.
 #local   replication     postgres                                trust
[postgres@localhost data]$ 
したら、リスタート。
[postgres@localhost data]$ /usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data -l /var/log/postgres.log

残りはパス通ってないので、パス通す。これを.bashrcに追記。あくまで開発サーバだからpostgresユーザだけでいいや。
[postgres@localhost ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
PATH="${PATH}":/usr/local/pgsql/bin/
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=${POSTGRES_HOME}/lib
export PGDATA=${POSTGRES_HOME}/data

[postgres@localhost ~]$
 
 
これくらいかなー。

最初に言いましたがあくまで開発用なので。コレ大事!

Add Comments

名前
URL
 
  絵文字
 
 
livedoor プロフィール
Twitter
instagram(SnapWidget)
タグクラウド
  • ライブドアブログ