download
ここからダウンロード
install
./configure --prefix=/usr/local/pgsql
make
sudo make install
※必要lib
Ubuntuの場合
$ vim /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libreadline-dev
$ sudo apt-get install zlib1g-dev
参考URL Linux downloads (Ubuntu)
CentOSの場合
sudo yum install readline-devel.x86_64
sudo yum install readline.i686
sudo yum install zlib.x86_64
sudo yum install zlib-devel.x86_64
環境変数の設定
$vim .bashrc
PATH="$PATH":/usr/local/pgsql/bin/
export POSTGRES_HOME=/usr/local/pgsql
export PGDATA=$POSTGRES_HOME/data
export POSTGRES_LIB=$POSTGRES_HOME/lib
export POSTGRES_INCLUDE=/usr/local/pgsql/include
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$POSTGRES_LIB"
Ubuntuでapt-get install した場合の.bashrc
$ sudo su postgres
$vim ~/.bashrc
PATH="$PATH":/usr/lib/postgresql/9.3/bin
export POSTGRES_HOME=/usr/lib/postgresql/9.3
export PGDATA=/var/lib/postgresql/9.3/main
export POSTGRES_LIB=$POSTGRES_HOME/lib
export POSTGRES_INCLUDE=/usr/include/postgresql
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$POSTGRES_LIB"
初期化
sudo su
cd /usr/local/pgsql
mkdir data
chown postgres:postgres data
initdb --no-locale -E UTF8 -D data (postgre userから起動)
共有ライブラリーへのパス設定
/etc/ld.so.confへ以下を追加
$ vim /etc/ld.so.conf
include /usr/local/pgsql/lib
$ ldconfig
Postmasterの起動
※pg_ctr start -l logfile & (ログファイル出力時)
Postmasterの起動状態確認
pg_ctl status
起動エラー
$ pg_ctl start
su postgresql -------- postgres userへログイン
cd -------- home directoryへ移動
source .bashrc -------- カスタムPATHを通す。(既にPATHが通っていればいらない)
pg_ctl -D data start -------- Postmaster起動ould not create listen socket for "localhost"
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
WARNING: could not create listen socket for "localhost"
FATAL: could not create any TCP/IP sockets
以下を行う。
$ vim /etc/hosts
127.0.0.1 localhost localhost.localdomain
を追加する。
ココを参考にプロセスをチェックしてみる。
$ lsof -i:5432
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
postgres 1062 postgres 3u IPv6 4825 0t0 TCP localhost:postgresql (LISTEN)
postgres 1062 postgres 6u IPv4 4826 0t0 TCP localhost:postgresql (LISTEN)
起動してたのでいったん切る。
sudo kill -9 1062
改めて起動してみる。
$ pg_ctl -D data start
起動した。
参考サイト