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 安裝頁面 以找到安裝程式的連結。點擊 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://postgresql.dev.org.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、基礎設施和開發人員工具的文章。他目前與妻子和兩隻兔子住在柏林。他通常不必以第三人稱寫作,這對所有相關方來說都是一種解脫。