在 Ubuntu 系統中安裝 PostgreSQL 的步驟如下:
步驟 1:更新軟件包列表
sudo apt update
步驟 2:安裝 PostgreSQL
Ubuntu 默認倉庫包含 PostgreSQL,直接安裝:
sudo apt install postgresql postgresql-contrib -y
postgresql-contrib 包含附加功能模塊(可選但推薦)。
步驟 3:驗證服務狀態
安裝完成后,PostgreSQL 服務會自動啟動。檢查狀態:
sudo systemctl status postgresql
正常輸出應顯示 active (running)。
步驟 4:設置開機自啟
sudo systemctl enable postgresql
步驟 5:配置 PostgreSQL
- 登錄 PostgreSQL
默認管理員用戶為 postgres。切換用戶并進入數據庫命令行:
sudo -u postgres psql
- 修改管理員密碼
在 psql 命令行中:
ALTER USER postgres WITH PASSWORD 'your_password';
\q # 退出
- 創建新用戶和數據庫
# 創建新用戶
sudo -u postgres createuser --interactive
# 根據提示輸入用戶名,并選擇是否為超級用戶# 創建新數據庫
sudo -u postgres createdb mydb# 賦予用戶權限(通過 psql)
sudo -u postgres psql
\c mydb # 連接到數據庫
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
步驟 6:允許遠程訪問(可選)
修改配置文件:
sudo nano /etc/postgresql/<版本>/main/postgresql.conf
找到 listen_addresses 并修改為:
listen_addresses = '*' # 允許所有 IP 連接
配置客戶端認證:
sudo nano /etc/postgresql/<版本>/main/pg_hba.conf
添加一行允許遠程訪問(示例允許所有 IP 通過密碼訪問):
host all all 0.0.0.0/0 scram-sha-256
重啟服務:
sudo systemctl restart postgresql
步驟 7:防火墻配置(可選)
開放默認端口 5432:
sudo ufw allow 5432/tcp
sudo ufw reload
常見問題解決
1. 忘記 postgres 用戶密碼
停止 PostgreSQL 服務:
sudo systemctl stop postgresql
啟動單用戶模式:
sudo -u postgres psql --single -d postgres
重置密碼:
ALTER USER postgres WITH PASSWORD 'new_password';
\q
重啟服務:
sudo systemctl start postgresql
2. 連接被拒絕
檢查 postgresql.conf 和 pg_hba.conf 配置是否正確。
查看日志文件:
sudo tail -n 50 /var/log/postgresql/postgresql-<版本>-main.log
擴展說明
1. 安裝最新版本
若需安裝官方最新版(如 PostgreSQL 16):
添加 PostgreSQL 官方倉庫:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
更新并安裝:
sudo apt update
sudo apt install postgresql-16 -y
2. 完全卸載 PostgreSQL
sudo apt purge postgresql*
sudo rm -rf /etc/postgresql/ /var/lib/postgresql/
sudo apt autoremove
后續操作建議
備份與恢復:
# 備份數據庫
sudo -u postgres pg_dump mydb > mydb_backup.sql# 恢復數據庫
sudo -u postgres psql -d mydb -f mydb_backup.sql
圖形化管理工具:安裝 pgAdmin4 或使用 DBeaver。
性能優化:調整 postgresql.conf 中的 shared_buffers 和 work_mem。
通過以上步驟,你可以在 Ubuntu 系統上快速部署并配置 PostgreSQL 數據庫。