環境準備
操作系統: Centos 7.3 (cat /etc/redhat-release)
postgresql版本: 11.4
需要系統中含有gcc,make,zlib, zib-devel,readline,readline-devel沒有的話需要先安裝
可以使用yum或者rpm包的方式安裝
源碼下載
postgresql的官方網站:https://www.postgresql.org/
源碼包下載:https://www.postgresql.org/ftp/source/
編譯安裝
解壓
tar -zxvf postgresql-11.4.tar.gz
在/data上創建安裝目錄postgresql
mkdir postgresql
生成makefile
進入解壓的目錄
cd /opt/software/postgresql-11.4
執行
./configure --prefix=/data/postgresql
編譯安裝
make && make install
成功
安裝完成後的目錄結構如下
安裝工具集
cd /opt/software/postgresql-11.4/contrib
make && make install
創建用戶
groupadd postgres
useradd -g postgres postgres
passwd postgres
爲了安全考慮,postgresql不允許使用root用戶操作數據庫,我們在系統中爲了使用postgresql添加一個用戶postgres。
也可以是其他用戶名, 初始化數據庫時,就以這個用戶作爲數據庫的超級用戶
修改目錄的用戶爲postgres
chown -R postgres:postgres /data/postgresql
修改環境變量
切換到postgres用戶
su postgres
vim /home/postgres/.bash_profile
export PGHOME=/data/postgresql
export PGDATA=/data/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm -i'
alias ll='ls -lh'
使環境變量生效
source /home/postgres/.bash_profile
初始化數據庫
使用的也是postgres用戶
initdb -D /data/postgresql/data/
啓動數據庫
pg_ctl -D /data/postgresql/data/ -l logfile start
查看端口是否被使用
netstat -nltp|grep 5432
有看到的話就說明啓動成功
修改配置文件
postgresql.conf:配置PostgreSQL數據庫服務器的相應的參數
pg_hba.conf:配置對數據庫的訪問權限
vim /data/postgresql/data/postgresql.conf
vim /data/postgresql/data/ pg_hba.conf
最後添加一行
設置開機自啓動
修改/opt/software/postgresql-11.4/contrib/start-scripts下的linux文件,這個是一個自帶的啓動腳本
改成對應的路徑
將linux文件拷貝到/etc/init.d/目錄下,並命名爲postgresql,然後添加到自啓動服務裏面。
chmod a+x linux
su root
cp linux /etc/init.d/postgresql
cd /etc/init.d
chkconfig --add postgresql
chkconfig
切換postgres用戶,就可以使用下面的命令啓動或者關閉了,需要輸入postgres的登陸密碼。
啓動服務:#service postgresql start
停止服務:#service postgresql stop
重啓服務:#service postgresql restart
設置密碼
postgres用戶
進入到/data/postgresql/bin目錄,執行如下命令可以設置postgresql數據庫的密碼。
賬號默認是初始化數據庫的用戶名。
使用navicat連接