在Ubuntu上安裝PostgreSQL


title: "在Ubuntu上安裝PostgreSQL"
date: 2021-02-13T22:34:51+08:00
draft: true
tags: ['postgresql']
author: "dadigang"
author_cn: "大地缸"
personal: "http://www.real007.cn"


關(guān)于作者

http://www.real007.cn/about

如何在 Ubuntu 上安裝和配置 PostgreSQL

作者:

Sergiu譯者:
LCTT lnrCoder

| 2019-10-19 23:50
評論: 1

本教程中捣炬,你將學習如何在 Ubuntu Linux 上安裝和使用開源數(shù)據(jù)庫 PostgreSQL赵辕。

PostgreSQL (又名 Postgres) 是一個功能強大的自由開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng) ( RDBMS) ,其在可靠性俊扭、穩(wěn)定性唱捣、性能方面獲得了業(yè)內(nèi)極高的聲譽翰舌。它旨在處理各種規(guī)模的任務(wù)束莫。它是跨平臺的,而且是 macOS Server 的默認數(shù)據(jù)庫巷懈。

如果你喜歡簡單易用的 SQL 數(shù)據(jù)庫管理器该抒,那么 PostgreSQL 將是一個正確的選擇。PostgreSQL 對標準的 SQL 兼容的同時提供了額外的附加特性顶燕,同時還可以被用戶大量擴展凑保,用戶可以添加數(shù)據(jù)類型、函數(shù)并執(zhí)行更多的操作涌攻。

之前我曾論述過 在 Ubuntu 上安裝 MySQL欧引。在本文中,我將向你展示如何安裝和配置 PostgreSQL恳谎,以便你隨時可以使用它來滿足你的任何需求芝此。

在 Ubuntu 上安裝 PostgreSQL

PostgreSQL 可以從 Ubuntu 主存儲庫中獲取。然而因痛,和許多其它開發(fā)工具一樣癌蓖,它可能不是最新版本。

首先在終端中使用 apt 命令 檢查 Ubuntu 存儲庫 中可用的 PostgreSQL 版本:

apt show postgresql

在我的 Ubuntu 18.04 中婚肆,它顯示 PostgreSQL 的可用版本是 10(10+190 表示版本 10)而 PostgreSQL 版本 11 已經(jīng)發(fā)布。

Package: postgresql
Version: 10+190
Priority: optional
Section: database
Source: postgresql-common (190)
Origin: Ubuntu

根據(jù)這些信息坐慰,你可以自主決定是安裝 Ubuntu 提供的版本還是還是獲取 PostgreSQL 的最新發(fā)行版较性。

我將向你介紹這兩種方法:

方法一:通過 Ubuntu 存儲庫安裝 PostgreSQL

在終端中,使用以下命令安裝 PostgreSQL:

sudo apt update
sudo apt install postgresql postgresql-contrib

根據(jù)提示輸入你的密碼结胀,依據(jù)于你的網(wǎng)速情況赞咙,程序?qū)⒃趲酌氲綆追昼姲惭b完成。說到這一點糟港,隨時檢查 Ubuntu 中的各種網(wǎng)絡(luò)帶寬攀操。

什么是 postgresql-contrib?

postgresql-contrib 或者說 contrib 包,包含一些不屬于 PostgreSQL 核心包的實用工具和功能秸抚。在大多數(shù)情況下速和,最好將 contrib 包與 PostgreSQL 核心一起安裝歹垫。

方法二:在 Ubuntu 中安裝最新版本的 PostgreSQL 11

要安裝 PostgreSQL 11, 你需要在 sources.list 中添加官方 PostgreSQL 存儲庫和證書,然后從那里安裝它颠放。

不用擔心排惨,這并不復雜。 只需按照以下步驟碰凶。

首先添加 GPG 密鑰:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

現(xiàn)在暮芭,使用以下命令添加存儲庫。如果你使用的是 Linux Mint欲低,則必須手動替換你的 Mint 所基于的 Ubuntu 版本號:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

現(xiàn)在一切就緒辕宏。使用以下命令安裝 PostgreSQL:

sudo apt update
sudo apt install postgresql postgresql-contrib

PostgreSQL GUI 應(yīng)用程序

你也可以安裝用于管理 PostgreSQL 數(shù)據(jù)庫的 GUI 應(yīng)用程序(pgAdmin):

sudo apt install pgadmin4

PostgreSQL 配置

你可以通過執(zhí)行以下命令來檢查 PostgreSQL 是否正在運行:

service postgresql status

通過 service 命令,你可以啟動砾莱、關(guān)閉或重啟 postgresql瑞筐。輸入 service postgresql 并按回車將列出所有選項。現(xiàn)在恤磷,登錄該用戶面哼。

默認情況下,PostgreSQL 會創(chuàng)建一個擁有所權(quán)限的特殊用戶 postgres扫步。要實際使用 PostgreSQL魔策,你必須先登錄該賬戶:

sudo su postgres

你的提示符會更改為類似于以下的內(nèi)容:

postgres@ubuntu-VirtualBox:/home/ubuntu$

現(xiàn)在,使用 psql 來啟動 PostgreSQL Shell:

psql

你應(yīng)該會看到如下提示符:

postgress=#

你可以輸入 \q 以退出河胎,輸入 \? 獲取幫助闯袒。

要查看現(xiàn)有的所有表,輸入如下命令:

\l

輸出內(nèi)容類似于下圖所示(單擊 q 鍵退出該視圖):

PostgreSQL Tables

使用 \du 命令游岳,你可以查看 PostgreSQL 用戶:

PostgreSQLUsers

你可以使用以下命令更改任何用戶(包括 postgres)的密碼:

ALTER USER postgres WITH PASSWORD 'my_password';

注意:postgres 替換為你要更改的用戶名政敢,my_password 替換為所需要的密碼。另外胚迫,不要忘記每條命令后面的 ;(分號)喷户。

建議你另外創(chuàng)建一個用戶(不建議使用默認的 postgres 用戶)。為此访锻,請使用以下命令:

CREATE USER my_user WITH PASSWORD 'my_password';

運行 \du褪尝,你將看到該用戶,但是期犬,my_user 用戶沒有任何的屬性河哑。來讓我們給它添加超級用戶權(quán)限:

ALTER USER my_user WITH SUPERUSER;

你可以使用以下命令刪除用戶:

DROP USER my_user;

要使用其他用戶登錄停团,使用 \q 命令退出廊遍,然后使用以下命令登錄:

psql -U my_user

你可以使用 -d 參數(shù)直接連接數(shù)據(jù)庫:

psql -U my_user -d my_db

你可以使用其他已存在的用戶調(diào)用 PostgreSQL。例如桐款,我使用 ubuntu。要登錄佳吞,從終端執(zhí)行以下命名:

psql -U ubuntu -d postgres

注意: 你必須指定一個數(shù)據(jù)庫(默認情況下拱雏,它將嘗試將你連接到與登錄的用戶名相同的數(shù)據(jù)庫)。

如果遇到如下錯誤:

psql: FATAL:  Peer authentication failed for user "my_user"

確保以正確的用戶身份登錄容达,并使用管理員權(quán)限編輯 /etc/postgresql/11/main/pg_hba.conf

sudo vim /etc/postgresql/11/main/pg_hba.conf

注意: 用你的版本替換 11(例如 10)古涧。

對如下所示的一行進行替換:

local   all             postgres                                peer

替換為:

local   all             postgres                                md5

然后重啟 PostgreSQL:

sudo service postgresql restart
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市花盐,隨后出現(xiàn)的幾起案子羡滑,更是在濱河造成了極大的恐慌,老刑警劉巖算芯,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柒昏,死亡現(xiàn)場離奇詭異,居然都是意外死亡熙揍,警方通過查閱死者的電腦和手機职祷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來届囚,“玉大人有梆,你說我怎么就攤上這事∫庀担” “怎么了泥耀?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛔添。 經(jīng)常有香客問我痰催,道長,這世上最難降的妖魔是什么迎瞧? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任夸溶,我火速辦了婚禮,結(jié)果婚禮上凶硅,老公的妹妹穿的比我還像新娘缝裁。我一直安慰自己,他們只是感情好足绅,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布捷绑。 她就那樣靜靜地躺著,像睡著了一般编检。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扰才,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天允懂,我揣著相機與錄音,去河邊找鬼衩匣。 笑死蕾总,一個胖子當著我的面吹牛粥航,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播生百,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼递雀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚀浆?” 一聲冷哼從身側(cè)響起缀程,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎市俊,沒想到半個月后杨凑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡摆昧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年撩满,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绅你。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡伺帘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忌锯,到底是詐尸還是另有隱情伪嫁,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布汉规,位于F島的核電站礼殊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏针史。R本人自食惡果不足惜晶伦,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啄枕。 院中可真熱鬧婚陪,春花似錦、人聲如沸频祝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽常空。三九已至沽一,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漓糙,已是汗流浹背铣缠。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝗蛙。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓蝇庭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捡硅。 傳聞我的和親對象是個殘疾皇子哮内,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容