一、安裝步驟
1、設置保存安裝包的目錄
# cd /usr/local/src
2、開始下載源包
# wget https://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz (https://www.postgresql.org/ftp/source/ 這里是官網資源)
3、解壓
# tar zxvf postgresql-12.1.tar.gz
4、移動位置/usr/local/pgsql/postgresql-12.1
# mv postgresql-12.1 /usr/local/pgsql/postgresql-12.1
6、進入移動后的目錄
# cd /usr/local/pgsql/postgresql-12.1
8、配置選項生成Makefile,默認安裝到目錄/usr/local/pgsql/postgresql-12.1
# ./configure (如果要安裝到自定義目錄,這里修改為 # ./configure --prefix= /usr/local/pgsql 紅字部分是你的自定義路徑)
9、echo 一下返回是否為0, 0表示無錯誤
# echo $?
130
10、發現沒有相關包依次安裝
# yum install -y bison
# yum install -y flex
# yum install -y readline-devel (https://www.linuxidc.com/Linux/2012-02/53982.htm 這里有解釋為什么安裝這個)
# yum install -y zlib-devel
11、編譯
# make (編譯后再echo $? 如果為0 就可以安裝了)
12、安裝
# make install
13、創建,添加postgres 用戶到 postgres組
# groupadd postgres (創建組:postgres )
# useradd -g postgres postgres (命令解釋:useradd -g 用戶組 用戶 )
# mkdir -p /usr/local/pgsql/data (創建一個data 目錄)
# chown postgres /usr/local/pgsql/data ( 改變data的權限為postgres用戶)
# su - postgres ( 切換操作用戶為 postgres)
14、初始化數據庫
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
(提示:初始化數據庫的操作為: ./initdb -D /usr/local/pgsql/data initdb把用戶指定的選項轉換成對應的參數,通過外部程序調用的方式執行postgres程序。
postgres程序在這種方式下將進入bootstrap模式創建數據集簇,並讀取后端接口postgres.bki文件來創建模板數據庫。)
15、啟動數據庫
$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start(啟動數據庫)
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ stop (停止數據庫)
/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data/ -m fast (重啟數據庫)
二、postgreSQL配置
1、修改postgresql.conf,修改主要的配置參數。
修改前可以先備份一下
$ cp postgresql.conf postgresql.conf_bak
$ vim /usr/local/pgsql/data/postgresql.conf
修改listen_addresses = '*' 前面的#號需要去掉(按/鍵輸入listen_addresses可以快速查找該行。)默認參數是‘localhost‘ 只監聽本機IP修改為’*‘后,
可以讓遠端的其它設備訪問 。另外沒有vim 可以使用# yum install -y vim 安裝vim文本編輯工具。
2、修改postgresql.conf,修改數據庫的訪問權限。
$ vim /usr/local/pgsql/data/pg_hba.conf
添加以下,表示主機所有IP都可以訪問。
host all all 0.0.0.0/0 trust
3、添加環境變量
$ su (輸入密碼后切換為root管理員)
# cd /home/postgres (之前我們創建了一個postgres的用戶所以這里有這個目錄)
# vim .bash_profile
添加
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
# source .bash_profile (使修改生效)
4、設置開機自啟動
# cd /usr/local/pgsql/postgresql-12.1/contrib/start-scripts (這里有個文件名叫linux的文件,它是linux系統的啟動腳本)
由於這個文件權限沒有設置為X可以執行權限,我們需要設置它為可運行。
# chmod a+x linux
# cp linux /etc/init.d/postgresql (復制linux文件到/etc/init.d目錄下,並更名postgresql)
# vim linux /etc/init.d/postgresql
查看
prefix=/usr/local/pgsql (安裝程序的文件路徑)
PGDATA="/usr/local/pgsql/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
# su - postgres (默認密碼為空,切換到postgres用戶)
# psql -U postgres
postgres=# ALTER USER postgres with encrypted password 'asd111'; (asd111密碼自由設置)
postgres=# \q (可退出)
三、使用阿里雲的5432端口打開
1、選擇-安全組-配置規則
確定后就開放了5432端口了。
2、使用pgAdmin連接數據庫
配置IP,5432端口,用戶,密碼:asd111 就可以連接了。
參考鏈接:
https://blog.csdn.net/min0324/article/details/85019434
https://blog.csdn.net/joy_chou12/article/details/89351634
https://www.cnblogs.com/Paul-watermelon/p/10654303.html