rehat7.X下postgresql 11編譯安裝

文檔目錄結構:python

 

1、準備

操做系統版本:rehat7.6linux

Postgresql:11.2c++

軟件安裝目錄:/pgsql11/basedirsql

數據文件存放目錄:/pgsql11data/數據庫

11.2的下載地址:vim

https://www.postgresql.org/ftp/source/v11.2/緩存

 

1.修改防火牆:bash

 

vim /etc/selinux/configoracle

修改內容:post

SELINUX=disabled

 

systemctl disable firewalld

systemctl stop  firewalld

 

2.選擇deadline IO調度

cat > /etc/udev/rules.d/60-oracle-schedulers.rules<<EOF

 

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

EOF

 

udevadm control --reload-rules

 

3.安裝依賴包

 

yum install -y gcc gcc-c++  epel-release llvm5.0 llvm5.0-devel clang libicu-devel perl-ExtUtils-Embed zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel openldap-devel systemd-devel tcl-devel python-devel llvm*

 

 

2、編譯安裝後操做

安裝過程與linux下其餘軟件的編譯安裝過程相同,都是:

./configure

make

make install

 

2.1默認狀況安裝會用到數據庫中的壓縮功能這個功能的實現須要第三方的壓縮開發包zlib支持,linux包名字通常都包含zlib和dev 兩個關鍵字,dev是develop開發的意思。

 

操做以下:

 

建立用戶:

groupadd pgsql

useradd -g pgsql pgsql

passwd pgsql

 

 

mkdir -p /pgsql11/basedir   --這個爲安裝目錄

mkdir -p /pgsql11data   --這個放數據文件

 

chown -R pgsql:pgsql /pgsql11

chown -R pgsql:pgsql /pgsql11data

 

 

把上傳的包放到/pgsql11/basedir目錄並解壓。

tar -zxvf postgresql-11.2.tar.gz

 

 

vi postgresql-11.2/src/Makefile.global.in

 

 

去掉紅圈的部分。

安裝幫助命令

 

若是不指定,則默認安裝到 /usr/loca/pgsql目錄下,這是數據庫的安裝路徑,跟具體的數據(表)存放沒有任何關係。

./configure --prefix=/pgsql11/basedir/ --without-readline --without-zlib

生產中建議用較大的數據塊提升I/O性能

 

 

 

make

 

make install

 

 

chown -R pgsql:pgsql /pgsql11

3、初始化數據庫

一、設置啓動配置

su - pgsql

vi .bash_profile

 

export PGPORT=5432

export PGHOME=/pgsql11/basedir

export PGDATA=/pgsql11data/

export PATH=$PGHOME/bin:$PATH

export MANPATH=$PGHOME/share/man:$MANPATH

export LANG=en_US.UTF-8

export DATE='date +"%Y%m%d%H%M"'

export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

 

source .bash_profile

 

2.初始化數據庫

 

/pgsql11/basedir/bin/initdb -D /pgsql11data/

 

  

啓動數據庫:

/pgsql11/basedir/bin/pg_ctl -D /pgsql11data/ -l logfile start

 

幫助命令以下:

 

  

關閉數據庫:

pg_ctl stop -D /pgsql11data/ -m fast

 

-m是指數據庫中止的方法,有三種:

smart,fast,immediate  至關於oracle數據庫中的normal,immediate,abort模式,尤爲注意,兩個數據庫immediate模式不同。

 

四.參數修改

修改監聽的IP和端口

vi /pgsql11data/postgresql.conf

最大鏈接數

看狀況 好比說 500

 

  

開啓日誌:

 

 其中開啓syslogger系統日誌

 

日誌保留:

日誌有3種方法可保留:

1.天天生成一個新的日誌文件

2.每當日誌寫滿必定的大小(如20M),則切換一個日誌

3.只保留7天的日誌,循環覆蓋。

我採用第三種:

 

 

共享內存的調整:

 

主要是用戶共享數據塊。

 

 

默認是128M,根據內存大小,進行適當的調整,因爲個人是虛擬機,我改爲512MB(建議緩存數據庫的參數設置成內存的25%—40%)。

 有關TCP keepalives的設置:

 

預寫日誌設置:

開啓歸檔模式,且歸檔方式是拷貝到 /pgsql11data/pgarchivelog/ 路徑下。

 

用戶訪問設置:

好比個人用戶:

 

修改

vi /pgsql11data/pg_hba.conf 

 

注意,默認的是127.0.0.1/32,因爲這個表示只能本機登錄,且掩碼是32,修改爲 192.168.211.0/24 表示掩碼是24,且192.168.211這個網段的均可以登錄,後面那個是md5,建議不要用true。

 

改完後,重啓數據庫。

配置用戶訪問前:

 

配置用戶訪問後:

相關文章
相關標籤/搜索