PostgreSQL

設定本地 PostgreSQL 資料庫

分享到

概述

本頁面解釋瞭如何安裝和配置 PostgreSQL 資料庫伺服器psql 命令列客戶端。本指南將介紹如何在您的計算機上安裝和設定這些元件以進行本地訪問。

本指南將涵蓋以下平臺

導航到與您將使用的平臺相匹配的部分。

在 Windows 上設定 PostgreSQL

PostgreSQL 專案提供了原生 Windows 安裝程式,用於安裝和配置您的資料庫。

訪問 PostgreSQL Windows 安裝頁面 查詢安裝程式的連結。點選頁面開頭的“下載安裝程式”。

PostgreSQL initial download page

在接下來的頁面中,在 Windows x86-64 或 Windows x86-32 列(取決於您的計算機架構)中,選擇您希望安裝的 PostgreSQL 版本。

PostgreSQL available versions

點選您選擇的版本旁的“下載”並將其儲存到方便的位置。

下載完成後,雙擊檔案執行安裝程式(您可能需要確認允許程式對您的計算機進行更改)。

PostgreSQL installer greeting

在初始頁面上點選“下一步”開始配置安裝。

在下一頁,選擇您的安裝目錄。

PostgreSQL installation directory

點選“下一步”接受預設位置。

下一頁允許您選擇要安裝的元件。您至少需要選中 PostgreSQL 伺服器和命令列工具。

PostgreSQL choose components

點選“下一步”繼續。

現在,選擇資料庫資料檔案的儲存位置。

PostgreSQL data directory

點選“下一步”接受預設位置。

接下來,選擇並確認 PostgreSQL 超級使用者(名為 postgres)的管理密碼。

PostgreSQL set password

完成後點選“下一步”。

選擇伺服器將監聽的埠。

PostgreSQL set port

點選“下一步”接受預設的 5432 埠。

現在,選擇您的資料庫將使用的區域設定。

PostgreSQL locale

點選“下一步”使用您計算機的預設區域設定。

安裝的配置部分現已完成。您可以檢視您所做選擇的摘要。

PostgreSQL installation summary

如果一切看起來都正確,點選“下一步”。

最後,PostgreSQL 已準備好安裝。

PostgreSQL ready to install

點選“下一步”開始安裝過程。

安裝完成後,您可以使用 psql 命令列工具驗證安裝。

在您的開始選單中,輸入 psql 並點選該工具啟動程式。系統將提示您輸入要使用的連線詳細資訊。

Running psql client

Enter 接受方括號中給出的預設選項。最後一個提示將是您在設定期間配置的 postgres 使用者的密碼。

成功認證後,您將進入與資料庫的互動式 psql 會話。

完成後,透過輸入以下命令退出會話:

\quit

在 macOS 上設定 PostgreSQL

PostgreSQL 專案提供了原生 macOS 安裝程式,用於安裝和配置您的資料庫。

訪問 PostgreSQL macOS 安裝頁面 查詢安裝程式的連結。點選 Interactive Installer by EnterpriseDB 部分開頭的“下載安裝程式”。

PostgreSQL initial download page

在接下來的頁面中,在 Mac OS X 列中,選擇您希望安裝的 PostgreSQL 版本。

PostgreSQL available versions

點選您選擇的版本旁的“下載”並將其儲存到方便的位置。

下載完成後,在“下載”資料夾中找到 PostgreSQL 安裝程式 DMG 檔案。雙擊下載的 DMG 檔案以掛載安裝程式歸檔。

PostgreSQL DMG file

在掛載的歸檔中,點選 PostgreSQL 安裝程式包(系統可能會提示您確認是否允許該包對您的計算機進行更改)。

PostgreSQL installer package

PostgreSQL 安裝程式將開啟歡迎介面。

PostgreSQL installer welcome

在初始頁面上點選“下一步”開始配置安裝。

在下一頁,選擇您的安裝目錄。

PostgreSQL installation directory

點選“下一步”接受預設位置。

下一頁允許您選擇要安裝的元件。您至少需要選中 PostgreSQL 伺服器和命令列工具。

PostgreSQL choose components

點選“下一步”繼續。

現在,選擇資料庫資料檔案的儲存位置。

PostgreSQL data directory

點選“下一步”接受預設位置。

在下一頁,選擇並確認 PostgreSQL 超級使用者(名為 postgres)的管理密碼。

PostgreSQL set password

完成後點選“下一步”。

下一頁允許您選擇伺服器將監聽的埠。

PostgreSQL set port

點選“下一步”接受預設的 5432 埠。

現在,選擇您的資料庫將使用的區域設定。

PostgreSQL locale

點選“下一步”使用您計算機的預設區域設定。

安裝的配置部分現已完成。您可以檢視您所做選擇的摘要。

PostgreSQL installation summary

如果一切看起來都正確,點選“下一步”。

PostgreSQL 已準備好安裝。

PostgreSQL ready to install

點選“下一步”開始安裝過程。

程序完成後,安裝程式將確認完成。

PostgreSQL installation complete

PostgreSQL 安裝完成後,您可以使用 psql 命令列工具驗證安裝。雖然此客戶端已安裝,但我們需要修改終端的 PATH 變數以便於訪問它。

開啟一個新的終端視窗開始。首先,透過輸入以下命令找到 PostgreSQL bin 目錄:

ls -d /Library/PostgreSQL/*/bin

響應將是您的 PostgreSQL bin 目錄。例如:

/Library/PostgreSQL/12/bin

現在您知道了要使用的目錄,透過輸入以下命令編輯 /etc/paths 檔案:

sudo nano /etc/paths

系統將提示您輸入計算機的管理密碼以繼續。

PostgreSQL open paths file

將您找到的 bin 目錄路徑新增到檔案底部。

PostgreSQL edit paths file

完成後,按 CTL-XY,然後按 ENTER 儲存並關閉檔案。

要使用新的 PATH 設定,請開啟一個新的終端視窗。在新視窗中,輸入:

psql -U postgres

系統將提示您輸入在 PostgreSQL 配置過程中設定的 postgres 使用者的管理密碼。

PostgreSQL psql authentication

成功認證後,您將進入與資料庫的互動式 psql 會話。

完成後,輸入以下命令退出會話:

\quit

在 Linux 上設定 PostgreSQL

安裝方法因您使用的 Linux 發行版而異。請按照下面與您的 Linux 發行版匹配的部分進行操作。

Debian 和 Ubuntu

您可以選擇使用您的發行版預設儲存庫中可用的 PostgreSQL 版本,也可以使用 PostgreSQL 專案提供的儲存庫。預設儲存庫中的軟體包已測試可與您的發行版提供的所有其他軟體配合使用,但可能較舊。PostgreSQL 專案的軟體包將更加新,但可能需要額外的配置。

使用 Debian 或 Ubuntu 的預設儲存庫安裝

Ubuntu 和 Debian 都提供了作為軟體包在其預設儲存庫中的 PostgreSQL 伺服器版本。PostgreSQL 版本可能比 PostgreSQL 網站上的版本舊,但這是在這些發行版上安裝的最簡單方法。

要安裝 PostgreSQL 伺服器,請使用最新軟體包集更新計算機的本地軟體包快取。之後,安裝 postgresql 軟體包:

sudo apt update
sudo apt install postgresql

預設情況下,PostgreSQL 配置為使用 對等認證,它允許使用者在作業系統使用者名稱與 PostgreSQL 內部名稱匹配時登入。

安裝過程建立了一個名為 postgres 的作業系統使用者,以匹配 postgres 資料庫管理帳戶。要使用 psql 客戶端登入 PostgreSQL,請使用 sudopostgres 使用者身份執行命令:

sudo -u postgres psql

完成後,您可以輸入以下命令退出 psql 會話:

\quit

使用 PostgreSQL 專案的 Debian 和 Ubuntu 儲存庫安裝

如果您需要更新的 PostgreSQL 版本,可以使用 PostgreSQL 專案維護的儲存庫,而不是您的 Linux 發行版提供的儲存庫。

首先,透過輸入以下命令向您的系統新增新的儲存庫定義:

echo "deb http://apt.postgresql.org/pub/repos/apt/ $(. /etc/os-release; echo $VERSION_CODENAME)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

接下來,將 PostgreSQL 軟體包簽名金鑰新增到 apt,使其信任新儲存庫中的軟體包:

wget --quiet -O - https://postgres.tw/media/keys/ACCC4CF8.asc | sudo apt-key add -

設定好儲存庫後,您可以更新本地軟體包索引,然後透過輸入以下命令安裝 PostgreSQL:

sudo apt update
sudo apt install postgresql

預設情況下,PostgreSQL 配置為使用 對等認證,它允許使用者在作業系統使用者名稱與 PostgreSQL 內部名稱匹配時登入。

安裝過程建立了一個名為 postgres 的作業系統使用者,以匹配 postgres 資料庫管理帳戶。要使用 psql 客戶端登入 PostgreSQL,請使用 sudopostgres 使用者身份執行命令:

sudo -u postgres psql

完成後,您可以輸入以下命令退出 psql 會話:

\quit

CentOS 和 Fedora

您可以選擇使用您的發行版預設儲存庫中可用的 PostgreSQL 版本,也可以使用 PostgreSQL 專案提供的儲存庫。預設儲存庫中的軟體包已測試可與您的發行版提供的所有其他軟體配合使用,但可能較舊。PostgreSQL 專案的軟體包將更加新,但可能需要額外的配置。

使用 CentOS 或 Fedora 的預設儲存庫安裝

CentOS 和 Fedora 都提供了作為軟體包在其預設儲存庫中的 PostgreSQL 伺服器版本。PostgreSQL 版本可能比 PostgreSQL 網站上的版本舊,但這是在這些發行版上安裝的最簡單方法。

要安裝 PostgreSQL 伺服器,請使用您的發行版的軟體包管理器安裝 mysql-server 軟體包:

對於 CentOS,使用 yum 軟體包管理器:

sudo yum install postgresql-server

對於 Fedora,使用 dnf 軟體包管理器:

sudo dnf install postgresql-server

MySQL 軟體包安裝完成後,透過輸入以下命令初始化資料庫:

sudo postgresql-setup initdb

之後,透過輸入以下命令啟動服務:

sudo systemctl start postgresql.service

(可選)您可以透過輸入以下命令在啟動時自動啟動 PostgreSQL:

sudo systemctl enable postgresql.service

預設情況下,PostgreSQL 配置為使用 對等認證,它允許使用者在作業系統使用者名稱與 PostgreSQL 內部名稱匹配時登入。

安裝過程建立了一個名為 postgres 的作業系統使用者,以匹配 postgres 資料庫管理帳戶。要使用 psql 客戶端登入 PostgreSQL,請使用 sudopostgres 使用者身份執行命令:

sudo -u postgres psql

完成後,您可以輸入以下命令退出 psql 會話:

\quit

使用 PostgreSQL 專案的 CentOS 和 Fedora 儲存庫安裝

如果您需要更新的 PostgreSQL 版本,可以使用 PostgreSQL 專案維護的儲存庫,而不是您的 Linux 發行版提供的儲存庫。

要配置 PostgreSQL 專案的儲存庫,請在您的終端中下載並安裝儲存庫設定包。

對於 CentOS,執行以下命令:

sudo yum install "https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-redhat-repo-latest.noarch.rpm"

對於 Fedora,使用此命令:

sudo dnf install "https://download.postgresql.org/pub/repos/yum/reporpms/F-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-fedora-repo-latest.noarch.rpm"

如果您使用的是 CentOS 8,您還必須停用系統的 PostgreSQL 模組,以防止它干擾儲存庫的 PostgreSQL 版本。為此,請輸入:

sudo yum module disable postgresql

接下來,選擇您希望的目標 PostgreSQL 版本。

對於 CentOS,透過輸入以下命令檢查可用的 PostgreSQL 版本:

yum list postgresql*-server

對於 Fedora,使用 dnf 軟體包管理器:

dnf list postgresql*-server

決定使用哪個版本後,您可以使用軟體包管理器安裝它。

對於 CentOS,使用 yum 軟體包管理器。例如,要安裝 PostgreSQL 12,請輸入:

sudo yum install postgresql12-server

對於 Fedora,使用 dnf 軟體包管理器。例如,要安裝 PostgreSQL 12,請輸入:

sudo dnf install postgresql12-server

PostgreSQL 軟體包安裝完成後,初始化資料庫:

sudo /usr/pgsql-*/bin/postgresql-*-setup initdb

找到您的 PostgreSQL 版本的 systemd 單元檔名稱:

systemctl list-unit-files | grep postgresql

使用您找到的單元檔案啟動服務。例如,對於 PostgreSQL 12,將是:

sudo systemctl start postgresql-12.service

(可選)您還可以使用 enable 在啟動時自動啟動 PostgreSQL。

sudo systemctl enable postgresql-12.service

預設情況下,PostgreSQL 配置為使用 對等認證,它允許使用者在作業系統使用者名稱與 PostgreSQL 內部名稱匹配時登入。

安裝過程建立了一個名為 postgres 的作業系統使用者,以匹配 postgres 資料庫管理帳戶。要使用 psql 客戶端登入 PostgreSQL,請使用 sudopostgres 使用者身份執行命令:

sudo -u postgres psql

完成後,您可以輸入以下命令退出 psql 會話:

\quit
關於作者
Justin Ellingwood

Justin Ellingwood

Justin 自 2013 年以來一直撰寫關於資料庫、Linux、基礎設施和開發者工具的文章。他目前與妻子和兩隻兔子住在柏林。他通常不必用第三人稱寫作,這對所有相關方來說都是一種解脫。
© . This site is unofficial and not affiliated with Prisma Data, Inc.