最新版本的9.6出來了,新增一大堆令人垂涎欲滴的新功能。本文按照套路給個安裝教程,僅僅做自己參考使用。
1 安裝必要基本軟件
[root@pg1 ]# yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch
安裝readline-devel,不裝的話編譯的時候會有錯誤提示
[root@pg1 ]# yum install -y readline-devel.x86_64
去postgresql官網(wǎng)下載最新的9.6源碼:
https://ftp.postgresql.org/pub/source/v9.6.0/postgresql-9.6.0.tar.gz
2 創(chuàng)建postgres用戶
[root@pg1 ]# useradd postgres
3 解壓編譯安裝
下載uuid ossp庫,下載地址:ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz
#解壓安裝uuid庫
[root@pg1 opt]# tar -zxvf uuid-1.6.2.tar.gz
[root@pg1 opt]# cd uuid-1.6.2
[root@pg1 uuid-1.6.2]# ./configure
[root@pg1 uuid-1.6.2]# make
[root@pg1 uuid-1.6.2]# make install
#解壓tar -zxvf postgresql-9.6.0.tar.gz
[root@pg1 opt]# tar -zxvf postgresql-9.6.0.tar.gz
#進(jìn)入解壓目錄
[root@pg1 opt]# cd postgresql-9.6.0
#配置prefix是程序放哪里
[root@pg1 postgresql-9.6.0]# ./configure --prefix=/home/postgres --enable-thread-safety --with-uuid=ossp --with-libs=/usr/local/lib --with-includes=/usr/local/include
#編譯&安裝
[root@pg1 postgresql-9.6.0]# make
[root@pg1 postgresql-9.6.0]# make install
# 安裝contrib工具包
[root@pg1 postgresql-9.6.0]# cd contrib
[root@pg1 contrib]# make
[root@pg1 contrib]# make install
#等待安裝完成
# 配置uuid的軟連接
[root@pg1 lib64]# find / -name libuuid.so.16
/usr/local/lib/libuuid.so.16
/opt/uuid-1.6.2/.libs/libuuid.so.16
# 將/usr/local/lib/libuuid.so.16建立軟連接到postgres的lib目錄
[root@pg1 lib64]# ln -s /usr/local/lib/libuuid.so.16 /home/postgres/lib
4 設(shè)置權(quán)限
#把程序目錄全部賦權(quán)給postgres用戶
[root@pg1 ]# chown -R postgres.postgres /home/postgres/
5 配置環(huán)境變量
編輯用戶目錄下.bashrc文件,主要是設(shè)置PGDATA變量
# 切換到postgres賬戶
[root@pg1 ]# su - postgres
# 編輯用戶下配置文件
[postgres@pg1 ]# vim .bashrc
編輯內(nèi)容如下:
PGHOME=/home/postgres
export PGHOME
PGDATA=$PGHOME/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH
編輯完成,按esc,輸入 wq!保存退出,重新啟用下配置文件
[postgres@pg1 ]# source .bashrc
6 初始化數(shù)據(jù)庫
#在postgres賬戶下執(zhí)行
[postgres@pg1 ]# initdb -D $PGDATA
7 啟動數(shù)據(jù)庫
[postgres@pg1 ]# pg_ctl start -D $PGDATA
8 設(shè)置用戶密碼
#使用postgres賬戶進(jìn)入控制臺(現(xiàn)在密碼應(yīng)該是空)
[postgres@pg1 ]# psql -U postgres
postgres=# \password
Enter new password: <123456>
Enter it again: <123456>
#把密碼設(shè)置成123456可以使用\q命令退出控制臺
9 設(shè)置監(jiān)聽
修改postgres/data目錄下的pg_hba.conf
[postgres@pg1 ~]$ vim $PGDATA/pg_hba.conf
修改IPv4 一行內(nèi)容如下:
# IPv4 local connections:
host all all 0.0.0.0/0 trust
修改postgresql.conf:
[postgres@pg1 ~]$ vim $PGDATA/postgresql.conf
修改監(jiān)聽一節(jié)如下:
# - Connection Settings -
listen_addresses = '*'
port = 5432
wq!保存退出。
重啟pg服務(wù)生效
[postgres@pg1 ~]$ pg_ctl restart -D $PGDATA