postgresql的安裝和啟動方法

lusklusklusk發表於2019-06-25

官方文件

二進位制安裝和啟動:

原始碼安裝和啟動:

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



兩種方法

1、二進位制安裝(linux是rpm包,其中yum方式也是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/pgsql/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

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

相關文章