一、安裝步驟
1、設置保存安裝包的目錄
$ cd /app/software/
2、開始下載源包
在官網下載postgresql-12.1.tar.gz:https://www.postgresql.org/ftp/source/
3、解壓
$ tar -zxvf postgresql-12.1.tar.gz -C ../
4、進入移動后的目錄
$ cd /app/postgresql-12.1
5、檢查依賴包
$ yum install -y bison
$ yum install -y flex
$ yum install -y readline-devel
$ yum install -y zlib-devel
6、配置選項生成Makefile,默認安裝到目錄:/app/postgresql-12.1
$ ./configure --prefix=/app/postgresql-12.1
7、編譯並安裝
$ make
$ make install
8、創建,添加postgres 用戶到 postgres組
$ groupadd postgres
$ useradd -g postgres postgres
$ chown -R postgres:postgres /app
$ mkdir -p /app/postgresql-12.1/data
$ su postgres
9、初始化數據庫
$ /app/postgresql-12.1/bin/initdb -D /app/postgresql-12.1/data/
10、啟動數據庫
$ /app/postgresql-12.1/bin/pg_ctl -D /app/postgresql-12.1/data/ -l logfile start --啟動數據庫
$ /app/postgresql-12.1/bin/pg_ctl -D /app/postgresql-12.1/data/ stop --停止數據庫
$ /app/postgresql-12.1/bin/pg_ctl restart -D /app/postgresql-12.1/data/ -m fast --重啟數據庫
二、postgreSQL配置
1、修改postgresql.conf,修改主要的配置參數。
修改前可以先備份一下
$ cd /app/postgresql-12.1/data/
$ cp postgresql.conf postgresql.conf_bak
$ vim /usr/local/pgsql/data/postgresql.conf
修改 listen_addresses = '192.168.226.128' 前面的#號需要去掉。
默認參數是‘localhost‘ ,一般會改成實際Ip地址。
2、修改postgresql.conf,修改數據庫的訪問權限。
$ vim /app/postgresql-12.1/data/pg_hba.conf
添加以下,表示主機所有IP都可以訪問。
host all all 0.0.0.0/0 trust
3、添加環境變量
$ su root
$ cd /home/postgres
$ vim .bash_profile
添加:
export PGHOME=/app/postgresql-12.1
export PGDATA=/app/postgresql-12.1/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
$ source .bash_profile
4、設置開機自啟動
$ cd /app/postgresql-12.1/contrib/start-scripts
由於這個文件權限沒有設置為X可以執行權限,我們需要設置它為可運行。
$ chmod a+x linux
# cp linux /etc/init.d/postgresql (復制linux文件到/etc/init.d目錄下,並更名postgresql)
# vim linux /etc/init.d/postgresql
查看
prefix=/app/postgresql-12.1 (安裝程序的文件路徑)
PGDATA="/app/postgresql-12.1/data" (數據存放目錄)
如果和自己的路徑一致就不需要修改了,按ESC鍵 ,然后:q退出編輯。
$ chkconfig --add postgresql (添加開機啟動項目)
$ chkconfig (看下是否設置成功)
4、設置系統配置,開放默認的5432端口
如果CentOS6 使用iptables執行以下步驟。
$ vim /etc/sysconfig/iptables
添加
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
$ cd /etc/init.d/iptables restart (重啟服務)
如果CentOS7 有使用firewall防火牆執行以下步驟。
$ firewall-cmd --zone=public --list-ports
$ firewall-cmd --zone=public --add-port=5432/tcp --permanent (添加5432端口)
$ firewall-cmd --reload (重啟防火牆)
5、啟動服務
$ service postgresql start
6、查看PostgreSQL服務
$ ps -ef | grep postgres
7、設置默認密碼
PostgreSQL安裝后會自動創建一個數據庫用戶,名為postgres
$ psql -U postgres
postgres=# ALTER USER postgres with encrypted password 'asd111'; (asd111密碼自由設置)
postgres=# \q (可退出)
確定后就開放了5432端口了。
2、使用pgAdmin連接數據庫
配置IP,5432端口,用戶,密碼:asd111 就可以連接了。