Linux上安裝PostgreSQL
目錄
打開PostgreSQL官網https://www.postgresql.org/,點擊菜單欄上的Download,可以看到這裏包含很多平臺的安裝包,包括Linux、Windows、MacOS等平臺。
在源碼包中file browser 鏈接可以下載各版本的PostgreSQL源碼嗎
在此,linux系統以Redhat爲例,數據庫版本選擇10.6,使用源碼安裝
下載安裝包
網址:https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
根目錄創建pgsql目錄,並將安裝包下載到pgsql目錄
進入psql文件夾並下載
wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
安裝數據庫
安裝依賴
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
如果一條安裝命令執行失敗,可以拆分成多條安裝命令執行
解壓壓縮包並進入解壓目錄
[root@db01 pgsql]# tar -zxvf postgresql-10.6.tar.gz
[root@db01 pgsql]# cd postgresql-10.6/
[root@db01 postgresql-10.6]# ls
編譯安裝
編譯
[root@db01 postgresql-10.6]# ./configure --prefix=/pgsql/postgresql
PostgreSQL配置腳本選項
選項 描述
--prefix=prefix 安裝到prefix指向的目錄;默認爲/usr/local/pgsql
--bindir=dir 安裝應用程序到dir;默認爲prefix/bin
--with-docdir=dir 安裝文檔到dir;默認爲prefix/doc
--with-pgport=port 設置默認的服務器端網絡連接服務TCP端口號
--with-tcl 爲服務端提供Tcl存儲過程支持
--with-perl 爲服務端提供Perl存儲過程支持
--with-python 爲服務端提供Python存儲過程支持
安裝
編譯成功後進行安裝
[root@db01 postgresql-10.6]#make & make install
安裝成功
進入安裝目錄下可以看到安裝後的postgresql文件夾
初始化數據庫
創建data目錄
mkdir /pgsql/postgresql/data
修改數據庫主目錄所屬者
將數據庫安裝目錄及自目錄所屬者修改爲用戶postgres,並修改data目錄權限爲755
chown -R postgres:postgres postgresql
chmod 755 data/
配置環境變量
切換到用戶postgres,配置環境變量
使環境變量生效
source ~/.bash_profile
initdb初始化數據庫
[root@db01 ~]# initdb -U postgres -D /pgsql/postgresql/data/
查看data目錄
驗證登錄
查看數據庫進程
[postgres@db01 data]$ ps -ef | grep postgres
由上可得無數據庫進程
啓動數據庫服務
將data目錄權限修改爲700
chmod 700 data/
啓動數據庫服務
pg_ctl start -D /pgsql/postgresql/data/
注意:如果沒有將data目錄修改爲700的話,啓動數據庫服務時會出現如下問題
再次查看數據庫進程
ps -ef | grep postgres
如上有postgres進程指向的路徑爲數據庫安裝的bin路徑即代表數據庫正在運行。
驗證登錄
psql -p 5432 -U postgres
登錄成功。