PostgreSQL數據庫安裝


PostgreSQL數據庫安裝

2018年01月31日 10時53分13秒


 

 

編譯以及安裝

源碼編譯

1) 官網下載源碼安裝包(本次源碼安裝包名:postgresql-9.6.0.tar.gz)。
2) 為了安裝的管理,Linux機器一般需要先 創建 三個目錄:編譯目錄、數據庫安裝目錄、數據初始化目錄。
3) 這兒使用的目錄如下:

編譯目錄 數據庫安裝目錄 數據存儲目錄
/usr/local/src/postgresql /usr/local/pgsql9.6.0/ /data/pgdata

4) 將源碼安裝包上傳到編譯目錄,並使用tar命令解壓。

tar -xvf postgresql-9.6.0.tar.gz

5) 安裝postgresql依賴包

# 如果安裝報錯,再次運行一次
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

注: redhat7.4配置yum源步驟見:傳送門

6) 對源碼進行編譯,源碼編譯使用root用戶即可

# 進入解壓目錄
#對於9.X版本的默認線程安全,所以不用添加線程安全的選項了
#第一步就是使用configure命令
./configure --prefix=/usr/local/pgsql9.6.0 --with-perl --with-python
#第二步使用make,make的版本需要在3.8之上,版本查看:make --version
make
#第三步使用make install安裝,需要root權限才能對/usr/local有寫權限
make install

程序安裝

1) 安裝之后:建立軟連接,方便后期升級維護

ln -sf /usr/local/pgsql9.6.0/ /usr/local/pgsql

2) 設置可執行文件與共享庫的路徑:
如果是將語句加在.profile或.bash_profile文件中,界面登錄是不會生效的。所以可以加在/etc/profile文件中

#將postgresql自帶命令路徑添加到PATH
export PATH=/usr/local/pgsql/bin:$PATH
#設置共享庫的路徑
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
#設置數據存儲的路徑
export PGDATA=/data/pgdata/
 #創建用戶
useradd -U -p 123456 postgres
#如果這個目錄不屬於postgres用戶和組,可以使用chown修改
chown postgres:postgres /data/pgdata/
#將所有的參數設置完成之后,將變量導出使其生效
source /etc/profile

3) 將依賴的環境變量導出之后,進行數據庫初始化到數據存儲目錄之中

#切換為postgres用戶初始化數據庫
su - postgres
#數據庫的初始化,命令之后不指定PGDATA,默認使用環境變量PGDATA中存儲的路徑
initdb

4) 如果需要安裝contrib下的工具可以到之前解壓的主目錄下的contrib目錄運行下面的命令

make;
sudo make install;

數據庫的啟動和停止

啟動數據庫

# 切換為postgres用戶后啟動
su - postgres
pg_ctl start -D $PGDATA
#PGDATA是前面導出的數據庫的數據目錄,也可以直接在命令后面加目錄啟動

關閉數據庫

# 切換為postgres用戶后停止
su - postgres
pg_ctl stop -D $PGDATA [ -m shutdown-mode ]

-m為停止方法:(3個參數)
        smart:等待所有連接中止之后
        fast:快速關閉,斷開客戶端連接,讓已有事務回滾
        immediate:立即退出,下次進入需要修復

數據庫開機自動啟動

1) 開機自動啟動,需要將解壓路徑下的contrib/start-scripts/linux文件添加執行權限, 並且修改該文件中的PGDATA參數為自己的實際的路徑,prefix參數修改為前面數據庫的安裝目錄,前面將數據庫的安裝目錄添加了軟連接,這兒修改為軟連接的目錄就可以了(強烈推薦使用前面軟連接的做法,方便管理)

2) 之后將linux文件復制到/etc/init.d/下重命名為postgresql

#添加為開機前啟動
chkconfig --add postgresql
#對服務的管理命令
service postgresql {start|stop|restart|reload|status}

遠程連接配置

需要配置兩個文件,位於數據庫數據目錄()
postgresql.conf
pg_hba.conf

 

postgresql.conf
postgresql.conf

 

 

pg_hba.conf
pg_hba.conf

 

數據庫的基本操作

--創建用戶
create user hzhang with password 'hzhang';
--賦權限
alter user hzhang with createdb;
--修改用戶密碼
alter user hzhang with password 'hzhang';
--創建一個數據庫,數據庫擁有者hzhang
create database moon owner hzhang;

安裝過程中的報錯

基本都是安裝依賴包的時候沒有安裝造成的

報錯1:configure: error: no acceptable C compiler found in $PATH

 


 

 

解決方法:安裝gcc套件
yum install gcc

報錯2:configure: error: readline library not found

 


 

 

解決方法:安裝readline-devel
yum list | grep readline
yum install readline-devel.x86_64

報錯3:configure: error: zlib library not found

 


 

 

解決方法:安裝zlib-devel
yum list | grep zlib
yum install zlib-devel.x86_64

報錯4:configure: error: header file <Python.h> is required for Python

 


 

 

解決方法
yum install python python-devel


免責聲明!

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



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