在 Ubuntu 20.04 上安裝 PostgreSQL

PostgreSQL 是 RDBMS(關係數據庫管理系統),用於使用標準查詢語言 SQL 存儲、檢索數據。 它也被稱為 Postgres,它是免費提供的,具有開源許可證。 PostgreSQL 支持 JSON、XML 和物化視圖,而其他數據庫管理軟件則不支持。

在本教程中,我們將學習如何 安裝 PostgreSQLUbuntu 20.04.

相關閱讀: 如何在 Ubuntu 20.04 上安裝 PhpPgAdmin

先決條件

在 Ubuntu 中安裝 Postgres 之前,我們需要遵循一些基本要求。

  1. 安裝 Ubuntu 20.04
  2. Sudo 權限以安裝軟件包。
  3. 正確的互聯網連接。

安裝 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

啟動和啟用 postgres 服務

安裝後,您可以通過運行以下命令來檢查 PostgreSQL 狀態。

$ sudo systemctl 狀態 postgresql.service

Postgres 服務狀態

默認情況下,安裝期間會創建 Postgres 用戶。 要訪問 Postgres shell,首先切換到 Postgres 用戶。

$ sudo su – postgres

現在輸入 psql 命令,

$ psql

執行 Postgres Shell

要檢查 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=”*”

在 postgres 中啟用遠程連接

Save 您的配置並重新啟動 PostgreSQL 服務器以使更改反映發生。

$ sudo systemctl restart postgresql.service

現在您應該能夠看到 PostgreSQL 正在偵聽不同的接口。 您可以執行以下命令進行確認。

$ ss -ltn

Postgres 端口監聽狀態

如果您在服務器中啟用了UFW防火牆,則需要 打開5432端口 通過執行以下命令來獲取傳入的 TCP 連接。

$ sudo ufw 允許 5432/tcp

還可以通過執行以下命令來驗證 UFW 防火牆規則。

$ sudo ufw 狀態詳細

Postgres ufw 配置

結論

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