PostgreSQL的安裝和啟動方法大全

資料和雲發表於2020-01-07

官方文件


二進位制安裝和啟動:



原始碼安裝和啟動:




https://www.postgresql.org/docs/current/kernel-resources.html


兩種方法


1、二進位制安裝(linux是rpm包,windows是exe安裝檔案)


2、原始碼安裝,推薦安裝方式


二進位制安裝


示例:centos7_64平臺,資料庫postgresql11,使用yum安裝


不使用yum的話可以直接使用rpm包安裝,rpm包下載地址


1、安裝RPM的yum源,其實就是下載一個postgresql的yum源pgdg-redhat-all.repo檔案到/etc/yum.repos.d目錄下,有了這個yum源後,就可以直接yum install postgresql11安裝postgresql資料庫了


yum install


2、安裝客戶端,先執行search看有哪些PostgreSQL client可供安裝


yum search 'PostgreSQL client'


yum install postgresql11


3、安裝服務端,先執行search看有哪些PostgreSQL server可供安裝,以下步驟安裝好後,會自動建立使用者postgres,自動建立目錄/usr/pgsql-11


yum search 'PostgreSQL server'


yum install postgresql11-server


4、初始化資料庫並啟用開機自動啟動


/usr/pgsql-11/bin/postgresql-11-setup initdb


systemctl enable postgresql-11


systemctl start postgresql-11


5、檢視postgresql的程式


[root@zabbixtest2 ~]# ps -ef|grep postgres


postgres  1527     1  0 01:13 ?        00:00:00 /usr/pgsql-11/bin/postmaster -D /var/lib/pgsql/11/data/


6、連線postgresql資料庫


su - postgres


psql -l


psql -d postgres


原始碼安裝


1、建立postgresql使用者、核心資源的配置,主要涉及/etc/security/limits.conf、/etc/sysctl.conf檔案,類似oracle也需要配置這兩個檔案


2、解壓tar包,進入解壓目錄,使用root使用者執行如下,最後的make install命令把軟體安裝到/postgresql/pgsql目錄


./configure --prefix=/postgresql/pgsql


make


make install


3、把軟體安裝目錄/postgresql/pgsql授權宿主使用者為postgresql


4、編輯postgresql使用者的.bash_profile檔案,PATH= /postgresql/pgsql/bin :$PATH、LD_LIBRARY_PATH= /postgresql/pgsql /lib


5、初始化資料庫,後面兩條命令任意一條都可以


su - postgresql


initdb -D /postgresql/pgsql/data


pg_ctl -D /postgresql/pgsq l/data initdb


6、啟動postgresql程式,下面任意一個都可以,官方文件建議使用pg_ctl


postgres -D /postgresql/pgsql/data >logfile 2>&1 &


pg_ctl start -D /postgresql/pgsql/data -l logfile


7、檢視postgresql的程式


[root@zabbixtest1 ~]# ps -ef|grep postgres


postgre+   803     1  0 07:10 pts/0    00:00:00 /postgresql/pgsql/bin/postgres -D /postgresql/pgsql/data


8、連線postgresql資料庫,指定連線postgres庫


psql -l


psql -d postgres


備註 :psql命令不加埠和不加資料庫名,表示預設進入埠為5432並且資料庫名和初始資料庫initdb時的使用者名稱一樣的資料庫,比如初始資料庫initdb時的使用者名稱為A,則預設進入A庫。postgresql的預設埠是5432,預設資料庫是postgres、template0、template1


如果此時埠不是5432,則會報錯psql: FATAL:  role "A" does not exist


因為安裝使用者"A"對應的例項埠為其他,埠5432資料庫的Owner不是"A"


如果此時沒有"A"庫,則會報錯psql: FATAL:  database "A" does not exist


因為安裝使用者"A",預設進入"A"庫,而"A"庫是不存在的


9、建立一個名為test的資料庫


createdb test

10、檢視資料庫狀態


pg_ctl status -D /postgresql/pgsql/data


11、關閉資料庫


pg_ctl stop -D /postgresql/pgsql/data


官方文件Short Version簡要步驟


./configure


make


su


make install


adduser postgres


mkdir /usr/local/pgsql/data


chown postgres /usr/local/pgsql/data


su - postgres


/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data


/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &


/usr/local/pgsql/bin/createdb test


/usr/local/pgsql/bin/psql test


出處:http://blog.itpub.net/30126024/viewspace-2648733/



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2672258/,如需轉載,請註明出處,否則將追究法律責任。

相關文章