PostgreSQL 是 RDBMS(關係數據庫管理系統),用於使用標準查詢語言 SQL 存儲、檢索數據。 它也被稱為 Postgres,它是免費提供的,具有開源許可證。 PostgreSQL 支持 JSON、XML 和物化視圖,而其他數據庫管理軟件則不支持。
在本教程中,我們將學習如何 安裝 PostgreSQL 在 Ubuntu 20.04.
相關閱讀: 如何在 Ubuntu 20.04 上安裝 PhpPgAdmin
先決條件
在 Ubuntu 中安裝 Postgres 之前,我們需要遵循一些基本要求。
- 安裝 Ubuntu 20.04
- Sudo 權限以安裝軟件包。
- 正確的互聯網連接。
安裝 Ubuntu 上的 PostgreSQL
PostgreSQL 可在 默認情況下 Ubuntu 存儲庫. 只需使用 apt 命令來安裝 PostgreSQL。 最常見的安裝包是 PostgreSQL 服務器、客戶端、pgadmin、庫和頭文件。
要安裝特定版本,您可以使用 PostgreSQL Apt 存儲庫.
要進行安裝,請遵循以下步驟。
首先,通過執行以下命令確保您的系統是最新的。
$ sudo 適當更新
安裝 Postgres 包 其次是 -貢獻 包添加了額外的實用程序和功能。
$ sudo apt 安裝 postgresql postgresql-contrib
PostgreSQL 安裝完成後,啟動 PostgreSQL 服務。
$ sudo systemctl 啟動 postgresql.service
還要使 PostgreSQL 服務在系統啟動時自動啟動。
$ sudo systemctl 啟用 postgresql.service
安裝後,您可以通過運行以下命令來檢查 PostgreSQL 狀態。
$ sudo systemctl 狀態 postgresql.service

默認情況下,安裝期間會創建 Postgres 用戶。 要訪問 Postgres shell,首先切換到 Postgres 用戶。
$ sudo su – postgres
現在輸入 psql 命令,
$ psql

要檢查 PostgreSQL 版本,請運行以下命令:
psql –version
或者
psql -V
在 PostgreSQL 中創建角色
對於授權和認證,Postgres 使用了“角色”的概念,它在某些方麵類似於 Unix 風格的帳戶。 在安裝期間,Postgres 以使用身份驗證的方式進行設置。 身份驗證將 Postgres 角色與匹配的 Linux/Unix 系統帳戶相關聯。 只有具有“CREATEROLE”權限的超級用戶和角色才負責創建新角色。
到 創建一個新角色 名為 john,在 PostgreSQL shell 中鍵入以下命令。
postgres=# createuser 約翰
在 PostgreSQL 中創建數據庫
創建一個新的數據庫 需要 PostgreSQL 數據庫外殼 (psql) 程序。 登錄到您的 psql shell 並鍵入以下命令以創建用戶並分配密碼。 在這裡,我將使用密碼 mystrongpassword 創建用戶名 jacky. 您可以創建自己的。
postgres=# CREATE USER jacky WITH PASSWORD ‘mystrongpassword’;
使用以下命令創建數據庫(例如畫廊),
postgres=# 創建數據庫畫廊;
使用剛剛創建的數據庫授予權限。 在這裡,我將提供數據庫庫的所有權限以使用 jacky。
postgres=# 授予 jacky 數據庫畫廊上的所有特權;
最後要退出 PostgreSQL Shell,輸入 q 並按回車鍵。
postgres=# q

在 PostgreSQL 中啟用遠程訪問
PostgreSQL 默認監聽本地環回接口 127.0.0.1。 如果要從其他遠程客戶端訪問數據庫,則需要配置 PostgreSQL 以偵聽不同的網絡接口。 要為不同的接口配置 PostgreSQL,請使用 nano 或其他文本編輯工具打開 PostgreSQL 的配置文件。
$ sudo vi /etc/postgresql/12/main/postgresql.conf
在此配置文件中,在“CONNECTIONS AND AUTHENTICATION”部分下搜索 listen_addresses。 取消註釋該行並將 localhost 更改為“*”。 這為 PostgreSQL 提供了在所有網絡接口上偵聽傳入連接的指令。
listen_addresses=”*”

Save 您的配置並重新啟動 PostgreSQL 服務器以使更改反映發生。
$ sudo systemctl restart postgresql.service
現在您應該能夠看到 PostgreSQL 正在偵聽不同的接口。 您可以執行以下命令進行確認。
$ ss -ltn

如果您在服務器中啟用了UFW防火牆,則需要 打開5432端口 通過執行以下命令來獲取傳入的 TCP 連接。
$ sudo ufw 允許 5432/tcp
還可以通過執行以下命令來驗證 UFW 防火牆規則。
$ sudo ufw 狀態詳細

結論
在本教程中,我們學習瞭如何在 Ubuntu 20.04 上安裝 PostgreSQL 服務器,包括一些初始配置。 除此之外,我們還學習瞭如何將 PostgreSQL 綁定到不同的接口以接受來自遠程客戶端的連接。