如何在 Ubuntu 上安裝和配置 PostgreSQL
在 Ubuntu 上安裝 PostgreSQL
PostgreSQL 可以從 Ubuntu 主存儲庫中獲取。然而,和許多其它開發工具一樣,它可能不是最新版本。
首先在終端中使用 apt 命令 檢查 Ubuntu 存儲庫 中可用的 PostgreSQL 版本:
apt show postgresql
在我的 Ubuntu 18.04 中,它顯示 PostgreSQL 的可用版本是 10(10+190 表示版本 10)而 PostgreSQL 版本 11 已經發布。
Package: postgresql
Version: 10+190
Priority: optional
Section: database
Source: postgresql-common (190)
Origin: Ubuntu
根據這些信息,你可以自主決定是安裝 Ubuntu 提供的版本還是還是獲取 PostgreSQL 的最新發行版。
我將向你介紹這兩種方法:
方法一:通過 Ubuntu 存儲庫安裝 PostgreSQL
在終端中,使用以下命令安裝 PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
根據提示輸入你的密碼,依據於你的網速情況,程序將在幾秒到幾分鐘安裝完成。說到這一點,隨時檢查 Ubuntu 中的各種網路帶寬。
什麼是 postgresql-contrib?
postgresql-contrib 或者說 contrib 包,包含一些不屬於 PostgreSQL 核心包的實用工具和功能。在大多數情況下,最好將 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 -
現在,使用以下命令添加存儲庫。如果你使用的是 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'
現在一切就緒。使用以下命令安裝 PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
PostgreSQL GUI 應用程序
你也可以安裝用於管理 PostgreSQL 資料庫的 GUI 應用程序(pgAdmin):
sudo apt install pgadmin4
PostgreSQL 配置
你可以通過執行以下命令來檢查 PostgreSQL 是否正在運行:
service postgresql status
通過 service
命令,你可以啟動、關閉或重啟 postgresql
。輸入 service postgresql
並按回車將列出所有選項。現在,登錄該用戶。
默認情況下,PostgreSQL 會創建一個擁有所許可權的特殊用戶 postgres
。要實際使用 PostgreSQL,你必須先登錄該賬戶:
sudo su postgres
你的提示符會更改為類似於以下的內容:
postgres@ubuntu-VirtualBox:/home/ubuntu$
現在,使用 psql
來啟動 PostgreSQL Shell:
psql
你應該會看到如下提示符:
postgress=#
你可以輸入 q
以退出,輸入 ?
獲取幫助。
要查看現有的所有表,輸入如下命令:
l
輸出內容類似於下圖所示(單擊 q
鍵退出該視圖):
使用 du
命令,你可以查看 PostgreSQL 用戶:
你可以使用以下命令更改任何用戶(包括 postgres
)的密碼:
ALTER USER postgres WITH PASSWORD 'my_password';
注意:將 postgres
替換為你要更改的用戶名,my_password
替換為所需要的密碼。另外,不要忘記每條命令後面的 ;
(分號)。
建議你另外創建一個用戶(不建議使用默認的 postgres
用戶)。為此,請使用以下命令:
CREATE USER my_user WITH PASSWORD 'my_password';
運行 du
,你將看到該用戶,但是,my_user
用戶沒有任何的屬性。來讓我們給它添加超級用戶許可權:
ALTER USER my_user WITH SUPERUSER;
你可以使用以下命令刪除用戶:
DROP USER my_user;
要使用其他用戶登錄,使用 q
命令退出,然後使用以下命令登錄:
psql -U my_user
你可以使用 -d
參數直接連接資料庫:
psql -U my_user -d my_db
你可以使用其他已存在的用戶調用 PostgreSQL。例如,我使用 ubuntu
。要登錄,從終端執行以下命名:
psql -U ubuntu -d postgres
注意:你必須指定一個資料庫(默認情況下,它將嘗試將你連接到與登錄的用戶名相同的資料庫)。
如果遇到如下錯誤:
psql: FATAL: Peer authentication failed for user "my_user"
確保以正確的用戶身份登錄,並使用管理員許可權編輯 /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
使用 PostgreSQL 與使用其他 SQL 類型的資料庫相同。由於本文旨在幫助你進行初步的設置,因此不涉及具體的命令。不過,這裡有個 非常有用的要點 可供參考! 另外, 手冊(man psql
)和 文檔 也非常有用。
總結
閱讀本文有望指導你完成在 Ubuntu 系統上安裝和準備 PostgreSQL 的過程。如果你不熟悉 SQL,你應該閱讀 基本的 SQL 命令。
如果你有任何問題或疑惑,請隨時在評論部分提出。
via: https://itsfoss.com/install-postgresql-ubuntu/
作者:Sergiu 選題:lujun9972 譯者:lnrCoder 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive