文檔目錄結構:python
操做系統版本: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*
安裝過程與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
一、設置啓動配置
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。
改完後,重啓數據庫。
配置用戶訪問前:
配置用戶訪問後: