linux 安裝PostgreSQL12


一、安裝步驟

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM