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)于作者
如何在 Ubuntu 上安裝和配置 PostgreSQL
作者:
| 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
鍵退出該視圖):
使用 \du
命令游岳,你可以查看 PostgreSQL 用戶:
你可以使用以下命令更改任何用戶(包括 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