如何在CentOS 8 上安裝 PostgreSQL 數(shù)據(jù)庫

如何在CentOS 8 上安裝 PostgreSQL 數(shù)據(jù)庫

PostgreSQL是一個開源的通用對象關系數(shù)據(jù)庫管理系統(tǒng)觉至,PostgreSQL支持大部分的SQL標準并且提供了很多其他現(xiàn)代特性,如復雜查詢睡腿、外鍵语御、觸發(fā)器、視圖席怪、事務完整性沃暗、多版本并發(fā)控制等。同樣何恶,PostgreSQL也可以用許多方法擴展孽锥,例如通過增加新的數(shù)據(jù)類型、函數(shù)细层、操作符惜辑、聚集函數(shù)、索引方法疫赎、過程語言等盛撑。另外,因為許可證的靈活捧搞,任何人都可以以任何目的免費使用抵卫、修改和分發(fā)PostgreSQL。

在本教程中胎撇,我們將介紹如何在 CentOS 8 服務器上安裝PostgreSQL數(shù)據(jù)庫以及PostgreSQL數(shù)據(jù)庫的基本管理操作介粘。

一、前提條件

01晚树、學習本教程前你需要有一臺自己的安裝有CentOS 8的服務器或者VPS姻采。如果咩有建議可以自己創(chuàng)建一臺虛擬機或者去購買阿里云VPS騰訊云VPS或者注冊即送$50的Vultr VPS服務器爵憎。

02慨亲、為了能夠安裝軟件包婚瓜,您需要以root用戶或具有sudo特權的用戶身份登錄。

二刑棵、在CentOS 8上安裝PostgreSQL 數(shù)據(jù)庫

在撰寫本文時巴刻,有兩個版本的PostgreSQL服務器可從標準CentOS存儲庫中安裝:版本9.6和10.0。

要列出可用的PostgreSQL模塊流蛉签,請輸入:

dnf module list postgresql

輸出顯示可用的兩個postgresql胡陪。每個個都包含服務器和客戶端。postgresql 10 是默認設置正蛙。

CentOS-8 - AppStream
Name          Stream    Profiles              Summary                                                 
postgresql    10 [d]    client, server [d]    PostgreSQL server and client module                     
postgresql    9.6       client, server [d]    PostgreSQL server and client module 

01督弓、要安裝默選項的PostgreSQL服務器版本10.0,直接如下安裝命令:

sudo dnf install @postgresql:10

02乒验、要安裝PostgreSQL服務器9.6版愚隧,請輸入:

sudo dnf install @postgresql:9.6

你可能還需要安裝contrib軟件包,該軟件包為PostgreSQL數(shù)據(jù)庫提供了一些附加功能:

sudo dnf install postgresql-contrib

安裝完成后锻全,使用以下命令初始化PostgreSQL數(shù)據(jù)庫:

sudo postgresql-setup initdb

輸出:

Initializing database ... OK

啟動PostgreSQL服務狂塘,并配置為其能夠在系統(tǒng)啟動時啟動:

sudo systemctl enable --now postgresql

使用該psql工具通過連接到PostgreSQL數(shù)據(jù)庫服務器來驗證安裝并打印其版本:

sudo -u postgres psql -c "SELECT version();"

輸出:

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

三、PostgreSQL角色和驗證方法

PostgreSQL使用角色的概念來處理數(shù)據(jù)庫訪問權限鳄厌。角色可以代表一個數(shù)據(jù)庫用戶或一組數(shù)據(jù)庫用戶荞胡。

PostgreSQL支持多種身份驗證方法。最常用的方法是:

  • 信任-只要符合定義的條件了嚎,角色就可以不使用密碼進行連接pg_hba.conf泪漂。
  • 密碼-角色可以通過提供密碼進行連接。密碼可以存儲為scram-sha-256歪泳,md5password(明文)萝勤。
  • 標識符-僅在TCP/IP連接上受支持。它通過獲取客戶端的操作系統(tǒng)用戶名以及可選的用戶名映射來工作呐伞。
  • 對等-與Ident相同敌卓,但僅在本地連接上受支持。

PostgreSQL客戶端身份驗證在名為pg_hba.conf的配置文件中定義伶氢。默認情況下趟径,對于本地連接,PostgreSQL設置為使用對等身份驗證方法癣防。

在你安裝PostgreSQL服務器過程中postgres用戶會被自動創(chuàng)建蜗巧。該用戶是PostgreSQL實例的超級用戶,你可以看成等效于MySQL的root用戶劣砍。

要以postgres用戶身份登錄到PostgreSQL服務器惧蛹,需要首先切換到該用戶,然后運行psql命令程序訪問PostgreSQL提示符:

sudo su - postgres
psql

從這里刑枝,可以與PostgreSQL實例進行交互香嗓。要退出PostgreSQL shell,請輸入:

\q

還可以訪問PostgreSQL提示符装畅,而無需使用以下sudo命令切換用戶:

sudo -u postgres psql

通常靠娱,postgres僅從本地主機使用該用戶。

四掠兄、創(chuàng)建PostgreSQL角色和數(shù)據(jù)庫

只有超級用戶和具有CREATEROLE特權的角色才能創(chuàng)建新角色像云。

在以下示例中,我們將創(chuàng)建一個名為john的新角色蚂夕,一個名johndb為的數(shù)據(jù)庫迅诬,并授予該數(shù)據(jù)庫的特權。

01婿牍、首先侈贷,連接到PostgreSQL shell:

sudo -u postgres psql

02、使用以下命令創(chuàng)建一個新的PostgreSQL角色:

create role John;

03等脂、創(chuàng)建一個新的數(shù)據(jù)庫:

create database johndb;

04俏蛮、通過運行以下查詢,向數(shù)據(jù)庫上的用戶授予特權:

grant all privileges on database johndb to John;

五上遥、啟用對PostgreSQL服務器的遠程訪問

默認情況下搏屑,PostgreSQL服務器僅供本地(127.0.0.1)訪問。

要啟用對PostgreSQL服務器的遠程訪問粉楚,請打開配置文件:

sudo nano /var/lib/pgsql/data/postgresql.conf

在打開文件中找到CONNECTIONS AND AUTHENTICATION部分辣恋,然后添加/編輯以下行:

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

保存文件,并使用以下命令重新啟動PostgreSQL服務:

sudo systemctl restart postgresql

使用ss實用程序驗證更改:

ss -nlt | grep 5432

如果已經(jīng)正常啟動模软,會輸出如下內容:

LISTEN   0    128    0.0.0.0:5432    0.0.0.0:*       
LISTEN   0    128    [::]:5432      [::]:*  

上面的輸出顯示PostgreSQL服務器正在所有接口(0.0.0.0)的默認端口上偵聽伟骨。

最后一步是通過編輯/var/lib/pgsql/data/pg_hba.conf文件將服務器配置為接受遠程連接。

以下是一些顯示不同用例的示例:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane can access all databases from all locations using an md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane can access only the janedb database from all locations using an md5 password
host    janedb          jane            0.0.0.0/0                md5

# The user jane can access all databases from a trusted location (192.168.1.134) without a password
host    all             jane            192.168.1.134            trust

六撵摆、寫在最后

本教程講解了如何在CentOS 8 上安裝 PostgreSQL數(shù)據(jù)庫并進行最基礎的管理內容底靠。希望你通過本教程有所收獲。如果你的條件已經(jīng)具備特铝,不妨在自己的CentOS 8服務器上進行安裝嘗試暑中。

更多關于PostgreSQL信息,可以參看PostgreSQL文檔鲫剿。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末鳄逾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子灵莲,更是在濱河造成了極大的恐慌雕凹,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異枚抵,居然都是意外死亡线欲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門汽摹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來李丰,“玉大人,你說我怎么就攤上這事逼泣∨棵冢” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵拉庶,是天一觀的道長嗜憔。 經(jīng)常有香客問我,道長氏仗,這世上最難降的妖魔是什么吉捶? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮廓鞠,結果婚禮上帚稠,老公的妹妹穿的比我還像新娘。我一直安慰自己床佳,他們只是感情好滋早,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砌们,像睡著了一般杆麸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浪感,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天昔头,我揣著相機與錄音,去河邊找鬼影兽。 笑死揭斧,一個胖子當著我的面吹牛,可吹牛的內容都是我干的峻堰。 我是一名探鬼主播讹开,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捐名!你這毒婦竟也來了旦万?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤镶蹋,失蹤者是張志新(化名)和其女友劉穎成艘,沒想到半個月后赏半,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡淆两,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年断箫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琼腔。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瑰枫,死狀恐怖踱葛,靈堂內的尸體忽然破棺而出丹莲,到底是詐尸還是另有隱情,我是刑警寧澤尸诽,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布甥材,位于F島的核電站,受9級特大地震影響性含,放射性物質發(fā)生泄漏洲赵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一商蕴、第九天 我趴在偏房一處隱蔽的房頂上張望叠萍。 院中可真熱鬧,春花似錦绪商、人聲如沸苛谷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腹殿。三九已至,卻和暖如春例书,著一層夾襖步出監(jiān)牢的瞬間锣尉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工决采, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留自沧,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓树瞭,卻偏偏與公主長得像拇厢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子移迫,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容