1.下載源碼
https://ftp.postgresql.org/pub/source/
2.上傳至服務器並解壓
cd /data/software tar -zvxf postgresql-10.6.tar.gz
3.編譯安裝
3.1.安裝配置
cd postgresql-10.6 ./configure --help # 安裝依賴包 yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake #./configure --prefix=/usr/local/pgsql10.6 --with-segsize=16 --with-blocksize=32 --with-wal-segsize=64 --with-wal-blocksize=64 --with-libedit-preferred --with-perl --with-python --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8
./configure --prefix=/usr/local/pgsql-10.6 --with-wal-segsize=512 --with-wal-blocksize=16 --with-pgport=5432 --with-segsize=1 --with-blocksize=8 --with-libedit-preferred --with-perl --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8
segsize:段尺寸,操作系統對文件的大小限制,因此一個表的文件最大不能超過文件系統規定的大小。為解決這個問題,可以將大表的文件拆分為小文件,每個文件的大小即為段設置的大小,單位為G
blocksize:塊大小,數據庫IO的最小單位
wal-segsize:日志段大小,即日志的大小
wal-blocksize:日志塊大小,日志的最小IO單位
具體的參數可以根據實際需求修改
3.2.編譯
make
3.3.安裝
make install
4.創建postgresql用戶,數據目錄
useradd postgres cd /pgdata/ mkdir data chown postgres.postgres -R /pgdata/
設置環境變量
# 創建連接文件,方便后期的升級 ln -sf /usr/local/pgsql10.6/ /usr/local/pgsql su - postgres vi .bash_profile ############################################### export PGDATA=/pgdata/data export PGHOME=/usr/local/pgsql/ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib export PATH=$PATH:$PGHOME/bin/ ###############################################
其他的程式在運行的過程中,可能會用到postgresql的庫文件,但因pg並未默認安裝,其庫文件未在/lib或/usr/lib下,因此我們將其加入環境變量,方便其他程式查找
5.安裝擴展
su - root export PATH=$PATH:/usr/local/pgsql/bin/ cd /data/software/postgresql-10.6/contrib more README make all make install
6.初始化數據庫
su - postgres initdb
7.開啟數據庫
