PostgreSQL數(shù)據(jù)庫部署linux服務(wù)器完整教程
PostgreSQL數(shù)據(jù)庫部署linux服務(wù)器流程
一、配置需求
1. 系統(tǒng)要求
一臺(tái)裝了 Docker 的服務(wù)器
該服務(wù)器能與本地win電腦ping通
操作系統(tǒng):Ubuntu 22.04(推薦)
2. 資源需求
PostgreSQL 15.4 鏡像(Docker官方倉庫)
國內(nèi)的能用來拉取鏡像的docker鏡像源
- 預(yù)備配置參數(shù)
參數(shù) | 值 |
端口 | 5432 |
用戶名 | postgres |
密碼 | postgres |
默認(rèn)數(shù)據(jù)庫 | postgres |
二、大概流程簡(jiǎn)述
拉取官方 PostgreSQL 鏡像
創(chuàng)建并啟動(dòng)容器
配置數(shù)據(jù)持久化存儲(chǔ)
設(shè)置數(shù)據(jù)庫用戶憑證
驗(yàn)證數(shù)據(jù)庫連接
三、驗(yàn)證環(huán)節(jié)
1. 驗(yàn)證 Docker 環(huán)境
# 檢查 Docker 是否安裝 sudo docker --version
(如圖所示結(jié)果)

顯示類似 Docker version 24.03.1, build xxxx 就說明已安裝。
# 檢查 Docker 服務(wù)是否運(yùn)行 sudo systemctl status docker
(如圖所示結(jié)果)

看到 active (running) 就正常。
退出查看:ctrl+c
2. 驗(yàn)證鏡像源是否能進(jìn)行拉取鏡像
# 拉取測(cè)試鏡像 sudo docker pull hello-world
(失敗結(jié)果如圖所示)

(成功結(jié)果如圖所示)

能正常運(yùn)行就說明鏡像源沒問題。
如果拉取失敗,配置國內(nèi) Docker 鏡像加速器
創(chuàng)建文件
sudo mkdir -p /etc/docker sudo vim /etc/docker/daemon.json
配置加速鏡 清空文件內(nèi)容,寫入以下 JSON(注意格式)
開始編寫按:i
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.anyhub.us.kg"
],
"dns": ["223.5.5.5", "114.114.114.114"]
}退出編寫+保存+退出:esc+:wq
應(yīng)用配置
sudo systemctl daemon-reload
重啟docker
sudo systemctl restart docker
配置成功后,重新執(zhí)行上面的拉取命令測(cè)試即可。
四、具體流程
1. 拉取 PostgreSQL 鏡像
# 拉取官方 PostgreSQL 15.4 鏡像 sudo docker pull postgres:15.4
(如圖所示結(jié)果)拉取時(shí)間實(shí)測(cè)需要12分鐘

# 驗(yàn)證鏡像是否下載成功 sudo docker images postgres:15.4
(成功結(jié)果如圖所示)

2. 創(chuàng)建數(shù)據(jù)持久化目錄
# 創(chuàng)建存儲(chǔ)目錄 sudo mkdir -p /opt/postgresql/data # 設(shè)置權(quán)限(必須) sudo chown -R 999:999 /opt/postgresql/data
3. 創(chuàng)建并啟動(dòng) PostgreSQL 容器
# 一鍵創(chuàng)建并啟動(dòng)容器 sudo docker run -d \ --name postgres_db \ --restart unless-stopped \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=postgres \ -p 5432:5432 \ -v /opt/postgresql/data:/var/lib/postgresql/data \ postgres:15.4
(成功結(jié)果如圖所示)

# 查看容器是否啟動(dòng)成功 sudo docker ps | grep postgres_db
(成功結(jié)果如圖所示)
![]()
看到輸出就說明啟動(dòng)成功了。
4. 驗(yàn)證數(shù)據(jù)庫連接
# 進(jìn)入容器內(nèi)部 sudo docker exec -it postgres_db psql -U postgres
(成功結(jié)果如圖所示)

# 進(jìn)入后執(zhí)行以下命令驗(yàn)證
#版本顯示 SELECT version();
(成功結(jié)果如圖所示)

退出查看:ctrl+c
數(shù)據(jù)庫列表
\l
(成功結(jié)果如圖所示)

退出查看:ctrl+c
退出數(shù)據(jù)庫
\q
5. 配置遠(yuǎn)程訪問
如果需要從容器外連接數(shù)據(jù)庫:
# 修改配置允許遠(yuǎn)程連接 sudo docker exec -it postgres_db bash -c "echo \"host all all 0.0.0.0/0 md5\" >> /var/lib/postgresql/data/pg_hba.conf" # 重啟容器生效 sudo docker restart postgres_db
五、常用管理命令
# 啟動(dòng)容器 sudo docker start postgres_db # 停止容器 sudo docker stop postgres_db # 查看容器日志 sudo docker logs -f postgres_db # 進(jìn)入容器 bash sudo docker exec -it postgres_db bash
六、驗(yàn)證連接
1. 服務(wù)器本地驗(yàn)證
# 進(jìn)入容器內(nèi)部連接數(shù)據(jù)庫 sudo docker exec -it postgres_db psql -U postgres
(成功結(jié)果如圖所示)

2. Windows 本地連接
使用 Python 測(cè)試連接
進(jìn)入虛擬環(huán)境,安裝 psycopg2 庫:
pip install psycopg2-binary
(成功結(jié)果如圖所示)

創(chuàng)建測(cè)試腳本:
#text01.py
import psycopg2
try:
conn = psycopg2.connect(
host="192.168.1.128",
port="5432",
database="postgres",
user="postgres",
password="postgres"
)
print("連接成功!")
cursor = conn.cursor()
cursor.execute("SELECT version();")
print("PostgreSQL 版本:", cursor.fetchone())
cursor.close()
conn.close()
except Exception as e:
print("連接失敗:", e)?? 注意:請(qǐng)將代碼中的 192.168.1.128 替換為您自己的服務(wù)器 IP 地址。
(成功結(jié)果如圖所示)
運(yùn)行腳本:
python test01.py
(成功結(jié)果如圖所示)

看到"連接成功!"就說明連接正常。
到此這篇關(guān)于PostgreSQL數(shù)據(jù)庫部署linux服務(wù)器流程的文章就介紹到這了,更多相關(guān)PostgreSQL部署linux服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Linux服務(wù)器快速安裝PostgreSQL15及pgvector向量插件
- RockyLinux9.5部署PostgreSQL的實(shí)現(xiàn)步驟
- Docker 部署 PostgreSQL數(shù)據(jù)庫的兩種方式
- Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫的實(shí)現(xiàn)步驟
- 一步步教你用docker部署postgreSQL數(shù)據(jù)庫
- 關(guān)于Docker部署postgresql數(shù)據(jù)庫的問題
- postgresql數(shù)據(jù)庫安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過程(業(yè)務(wù)庫)
相關(guān)文章
PostgreSQL將數(shù)據(jù)加載到buffer cache中操作方法
這篇文章主要介紹了PostgreSQL將數(shù)據(jù)加載到buffer cache中,我們可以使用pg_prewarm插件來將指定的表加載到OS Buffer或者pg shared buffer中,具體操作方法跟隨小編一起看看吧2021-04-04
自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL(實(shí)現(xiàn)代碼)
這篇文章主要介紹了自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL,本文給大家分享實(shí)現(xiàn)代碼,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
PostgreSQL通過mysql_fdw連通MySQL實(shí)戰(zhàn)
mysql_fdw就像是PostgreSQL和MySQL數(shù)據(jù)庫之間的一座雙向橋梁,本文就來詳細(xì)的介紹一下PostgreSQL通過mysql_fdw連通MySQL實(shí)戰(zhàn),感興趣的可以了解一下2026-03-03
PostgreSQL 實(shí)現(xiàn)給查詢列表增加序號(hào)操作
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)給查詢列表增加序號(hào)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
用一整天的時(shí)間安裝postgreSQL NTFS權(quán)限
看標(biāo)題貌似一天的收獲不小,但實(shí)際上是被一個(gè)問題搞的要死,啥問題?額,又是NTFS權(quán)限的問題。2009-08-08
PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL中進(jìn)行數(shù)據(jù)導(dǎo)入和導(dǎo)出
在PostgreSQL中,數(shù)據(jù)的導(dǎo)入和導(dǎo)出是數(shù)據(jù)庫管理中不可或缺的操作,通過使用COPYCOPYpg_dump和pg_dumpall等工具,您可以高效地管理您的數(shù)據(jù),感興趣的可以了解一下2026-05-05
PostgreSQL的generate_series()函數(shù)的用法說明
這篇文章主要介紹了PostgreSQL的generate_series()函數(shù)的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL中insert_username的擴(kuò)展使用
insert_username?是 PostgreSQL 的一個(gè)實(shí)用擴(kuò)展,用于自動(dòng)記錄數(shù)據(jù)行的創(chuàng)建者和最后修改者信息,本文就來詳細(xì)的介紹一下insert_username擴(kuò)展,感興趣的可以了解一下2025-06-06

