一、 前言
PostgreSQL 是一款功能强大的开源关系型数据库。
随着容器化技术的普及,使用 Docker 部署 PostgreSQL 不仅环境干净、易于维护,而且可以快速实现版本切换。
本文将手把手教你如何在腾讯云服务器 (操作系统为 Ubuntu Server 24.04 LTS)上,利用 Docker 快速部署 PostgreSQL 数据库,并通过本地电脑上的 DBeaver 数据库管理工具进行远程访问。
二、 准备工作
在开始之前,请确保你已经完成以下准备:
- 腾讯云服务器 :已购买并处于运行状态,镜像为
Ubuntu Server 24.04 LTS - SSH 连接工具:如 Xshell、FinalShell 或系统自带的终端,用于连接你的云服务器
- 本地电脑 :已安装 DBeaver Community(免费开源)

三、 安装前验证
登录服务器并更新系统
使用 SSH 工具登录到你的腾讯云服务器。
Plain
ssh ubuntu@你的服务器公网IP
登录成功后,首先更新系统软件包以确保安全性:
Plain
sudo apt update && sudo apt upgrade -y

验证Docker
Plain
docker --version
如果看到类似 Docker version 24.0.x 的输出,说明安装成功,

四、 使用 Docker 部署 PostgreSQL
使用 docker run 命令直接拉取并启动 PostgreSQL 容器,
这里以 PostgreSQL 16 为例(也可以替换为 postgres:15 等版本),
创建并运行容器
在终端中执行以下命令:
Plain
docker run -d \
--name my-postgres \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=Pw@123456 \
-e POSTGRES_DB=mydatabase \
-p 5432:5432 \
-v /data/postgres:/var/lib/postgresql/data \
postgres:16
参数说明:
-d:后台运行容器。--name my-postgres:为容器指定一个名称。-e POSTGRES_USER:设置数据库超级用户名称(默认是 postgres)。-e POSTGRES_PASSWORD:设置超级用户密码(请务必替换为强密码)。-e POSTGRES_DB:初始化时自动创建一个数据库。-p 5432:5432:将宿主机的 5432 端口映射到容器的 5432 端口。-v /data/postgres:/var/lib/postgresql/data:将数据库数据持久化到宿主机,防止容器删除后数据丢失。
检查容器状态
Plain
docker ps
看到 my-postgres 容器状态为 Up 即表示启动成功。

使用psql终端查看连接

五、 配置腾讯云安全组(关键步骤)
为了让本地电脑的 DBeaver 能够访问云服务器上的 PostgreSQL,需要在腾讯云控制台开放 5432 端口。
- 登录 腾讯云控制台 ,进入 云服务器 CVM 管理页面。
- 点击你的实例,找到 安全组 选项卡。
- 点击 编辑规则 或 配置安全组。
- 在"入站规则"中,点击 添加规则 :
- 协议类型:PostgreSQL (或自定义 TCP)
- 端口:5432
- 来源 :为了安全,建议填写你本地电脑的公网 IP(格式如
123.123.123.123/32)。如果是临时测试,可以填0.0.0.0/0(允许所有 IP 访问,生产环境不推荐) - 策略:允许,
- 点击 完成 保存,

六、 配置 DBeaver 连接 PostgreSQL
现在回到你的本地电脑,打开 DBeaver。
新建连接
- 点击菜单栏的 数据库 -> 新建数据库连接(或点击工具栏的"插头"图标)。
- 在弹出的窗口中,选择 PostgreSQL ,然后点击 下一步。

填写连接信息
在"主设置"页面填写以下信息:
- 主机 :你的腾讯云服务器 公网 IP 地址。
- 端口 :
5432(默认已填)。 - 数据库 :
mydatabase(在 Docker 命令中设置的POSTGRES_DB) - 用户名 :
myuser(你在 Docker 命令中设置的POSTGRES_USER) - 密码 :
Pw@123456(点击"保存密码"旁边的输入框,填入你设置的密码)
测试连接
点击 测试连接 按钮。如果是第一次连接,DBeaver 可能会提示下载 PostgreSQL 驱动,点击 下载 即可。
如果一切正常,你会看到一个提示框显示 "已连接"。

完成并访问
点击 完成。现在你可以在 DBeaver 的左侧导航栏看到你的 PostgreSQL 数据库,可以开始创建表、执行 SQL 查询等操作了。

七、 常见问题排查
- 连接超时 :
- 检查腾讯云安全组是否已正确放行 5432 端口。
- 检查服务器本地防火墙(如果开启了 UFW)是否放行:
sudo ufw allow 5432。
- 密码认证失败 :
- 检查 Docker 容器是否正常运行:
docker logs my-postgres。 - 确认 DBeaver 中填写的用户名和密码与启动容器时设置的
-e环境变量一致。
- 检查 Docker 容器是否正常运行:
- 容器启动失败 :
- 检查宿主机
/data/postgres目录权限,或尝试更换挂载目录。
- 检查宿主机
八、 总结
通过本文,我们完成了以下工作:
- 在腾讯云 Ubuntu 24.04 LTS 服务器上安装了 Docker。
- 使用 Docker 快速部署了 PostgreSQL 数据库,并实现了数据持久化。
- 配置了腾讯云安全组,放通了数据库端口。
- 使用 DBeaver 成功远程连接并管理了云端的 PostgreSQL 数据库。
这种部署方式不仅轻量快捷,而且非常适合开发、测试环境,甚至可以通过 Docker Compose 轻松扩展为高可用集群。
希望这篇教程对你有所帮助!欢迎点赞收藏!!!