溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

postgresql的安裝和啟動(dòng)方法有哪些

發(fā)布時(shí)間:2021-11-09 11:01:49 來(lái)源:億速云 閱讀:209 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫(kù)

本篇內(nèi)容主要講解“postgresql的安裝和啟動(dòng)方法有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“postgresql的安裝和啟動(dòng)方法有哪些”吧!

兩種方法

1、二進(jìn)制安裝(linux是rpm包,其中yum方式也是rpm包的一種,windows是exe安裝文件,實(shí)際工作中這種方式多一點(diǎn))

2、源碼安裝

二進(jìn)制安裝

示例:centos7_64平臺(tái),數(shù)據(jù)庫(kù)postgresql11,使用yum安裝

不使用yum的話可以直接使用rpm包安裝,rpm包下載地址https://yum.postgresql.org/rpmchart.php

1、安裝RPM的yum源,其實(shí)就是下載一個(gè)postgresql的yum源pgdg-redhat-all.repo文件到/etc/yum.repos.d目錄下,有了這個(gè)yum源后,就可以直接yum install postgresql11安裝postgresql數(shù)據(jù)庫(kù)了

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

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

yum search 'PostgreSQL client'

yum install postgresql11

3、安裝服務(wù)端,先執(zhí)行search看有哪些PostgreSQL server可供安裝,以下步驟安裝好后,會(huì)自動(dòng)創(chuàng)建用戶postgres,自動(dòng)創(chuàng)建目錄/usr/pgsql-11

yum search 'PostgreSQL server'

yum install postgresql11-server

4、初始化數(shù)據(jù)庫(kù)并啟用開(kāi)機(jī)自動(dòng)啟動(dòng)

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

systemctl enable postgresql-11

systemctl start postgresql-11

5、查看postgresql的進(jìn)程

[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數(shù)據(jù)庫(kù)

su - postgres

psql -l

psql -d postgres

源碼安裝

1、建立postgresql用戶、內(nèi)核資源的配置,主要涉及/etc/security/limits.conf、/etc/sysctl.conf文件,類似oracle也需要配置這兩個(gè)文件

2、解壓tar包,進(jìn)入解壓目錄,使用root用戶執(zhí)行如下,最后的make install命令把軟件安裝到/postgresql/pgsql目錄

./configure --prefix=/postgresql/pgsql

make

make install

3、把軟件安裝目錄/postgresql/pgsql授權(quán)宿主用戶為postgresql

4、編輯postgresql用戶的.bash_profile文件,PATH= /postgresql/pgsql/bin :$PATH、LD_LIBRARY_PATH= /postgresql/pgsql /lib

5、初始化數(shù)據(jù)庫(kù),后面兩條命令任意一條都可以

su - postgresql

initdb -D /postgresql/pgsql/data

pg_ctl -D /postgresql/pgsql/data initdb

6、啟動(dòng)postgresql程序,下面任意一個(gè)都可以,官方文檔建議使用pg_ctl

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

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

7、查看postgresql的進(jìn)程

[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數(shù)據(jù)庫(kù),指定連接postgres庫(kù)

psql -l

psql -d postgres

備注:psql命令不加端口和不加數(shù)據(jù)庫(kù)名,表示默認(rèn)進(jìn)入端口為5432并且數(shù)據(jù)庫(kù)名和初始數(shù)據(jù)庫(kù)initdb時(shí)的用戶名一樣的數(shù)據(jù)庫(kù),比如初始數(shù)據(jù)庫(kù)initdb時(shí)的用戶名為A,則默認(rèn)進(jìn)入A庫(kù)。postgresql的默認(rèn)端口是5432,默認(rèn)數(shù)據(jù)庫(kù)是postgres、template0、template1

如果此時(shí)端口不是5432,則會(huì)報(bào)錯(cuò)psql: FATAL:  role "A" does not exist

因?yàn)榘惭b用戶"A"對(duì)應(yīng)的實(shí)例端口為其他,端口5432數(shù)據(jù)庫(kù)的Owner不是"A"

如果此時(shí)沒(méi)有"A"庫(kù),則會(huì)報(bào)錯(cuò)psql: FATAL:  database "A" does not exist

因?yàn)榘惭b用戶"A",默認(rèn)進(jìn)入"A"庫(kù),而"A"庫(kù)是不存在的

9、創(chuàng)建一個(gè)名為test的數(shù)據(jù)庫(kù)

createdb test

10、查看數(shù)據(jù)庫(kù)狀態(tài)

pg_ctl status -D /postgresql/pgsql/data

11、關(guān)閉數(shù)據(jù)庫(kù)

pg_ctl stop -D /postgresql/pgsql/data

官方文檔Short Version簡(jiǎn)要步驟

./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

到此,相信大家對(duì)“postgresql的安裝和啟動(dòng)方法有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI