環境:CentOS 6.3 最小化預設安裝,配置好網卡。
安裝PostgreSQL前,確認Internet串連正常,以便下載安裝檔案。
先使用 yum -y update 指令升級系統到最新版本。
本安裝將PostgreSQL的資料檔案與執行檔案分離,如果你打算設定到不同的路徑,注意修改對應的執行命令和資料庫初始化指令碼。
# 修改防火牆設定,開啟5432連接埠
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
# 重啟防火牆使新設定生效
service iptables restart
# 新增使用者組
groupadd postgres
# 新增使用者
useradd postgres -g postgres
# 建立資料庫執行檔案目錄
mkdir -p /usr/local/pgsql
# 建立資料庫資料檔案目錄
mkdir -p /db/pgsql/data
# 修改目錄擁有者
chown -R postgres /usr/local/pgsql/.
chown -R postgres /db/pgsql/data
chown -R postgres /db/pgsql/data/.
# 編輯PATH搜尋路徑
vi /etc/profile
Append these 2 lines to the end of the file:
PATH=/usr/local/pgsql/bin:$PATH
export PATH
# 生效PATH搜尋路徑
source /etc/profile
# 安裝編譯源碼所需的工具和庫
yum -y install wget gcc readline-devel zlib-devel make
# 進入源碼壓縮包下載目錄
cd /usr/src
# 下載源碼壓縮包
wget http://ftp.postgresql.org/pub/source/v9.2.3/postgresql-9.2.3.tar.bz2
# 解壓縮源碼包
tar jxvf ./postgresql-9.2.3.tar.bz2
# 進入解壓縮源碼目錄
cd ./postgresql-9.2.3
# 執行源碼編譯配置指令碼
./configure
# 編譯源碼
make
# 安裝
make install
# 變更登入使用者
su - postgres
# 執行資料庫初始化指令碼
/usr/local/pgsql/bin/initdb --encoding=utf8 -D /db/pgsql/data
# 退出變更登入
exit
# 複製PostgreSQL執行指令碼
cp /usr/src/postgresql-9.2.3/contrib/start-scripts/linux /etc/init.d/postgresql
# 增加執行許可權
chmod +x /etc/init.d/postgresql
# 編輯PostgreSQL執行指令碼,指定資料庫檔案目錄
vi /etc/init.d/postgresql
PGDATA="/db/pgsql/data"
# 編輯設定檔,配置可訪問資料庫的網路地址
(注意別忘了去掉#listen_addresses=前面的#)
vi /db/pgsql/data/postgresql.conf
listen_addresses = '*'
# 啟動PostgreSQL服務
service postgresql start
# 以postgres使用者登入資料庫,修改postgres使用者的資料庫密碼
psql -U postgres
postgres=# ALTER USER postgres PASSWORD '123456';
postgres=# \q
# 編輯設定檔,設定密碼md5驗證
vi /db/pgsql/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
#host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
# 重啟資料庫服務
service postgresql restart
# 設定開機自動啟動服務
chkconfig postgresql on