

开头:当本地数据库被困在内网,你需要的不是云服务器,而是一条隧道
做开发的人大概都遇到过这种场景:本地 PostgreSQL 数据库搭好了,数据也导进去了,结果同事想连过来看效果,或者客户临时要看个 demo,才发现数据库跑在内网,没有公网 IP,根本连不进去。
换云数据库太贵,配置 frp 太麻烦,搬家到有公网 IP 的机器上又要数据迁移——感觉为了连个数据库做了半辈子工程。
我之前也是这么想的。直到开始用 cpolar 做内网穿透,发现把本地数据库暴露给外部网络这件事,比我预想的简单太多了。
从下面这张图可以快速理解这个工具的核心使用方式:

具体操作就三步:在 Linux 上装好 PostgreSQL,确认本地能连;装好 cpolar,一条命令把端口映射到公网;拿到生成的公网地址和端口,任何地方用 psql 或者数据库客户端直接连。整个过程不需要改路由器、不需要云服务器、不需要固定 IP,家庭宽带、移动网络、公司内网都能跑通。
这篇 PostgreSQL + cpolar 保姆级教程 会带你完整走一遍流程,从零开始,5 分钟内实现远程连接。如果你正在纠结“PostgreSQL 工具怎么用”或者“内网穿透工具怎么选”,这篇文章应该能帮你省下不少试错时间。
核心功能:cpolar 到底解决了什么问题?
在深入教程之前,先理清 cpolar 在这个场景里扮演的角色。它不是数据库管理工具,也不是云数据库服务,而是一个内网穿透工具。它的核心能力是:把本地网络中的服务端口,映射到一个公网可访问的地址上。
具体到 PostgreSQL 远程连接这个场景,cpolar 解决了三个关键问题:
- 没有公网 IP 也能远程连接:家庭宽带、公司内网、校园网,这些环境通常没有固定公网 IP,或者被运营商屏蔽了入站端口。cpolar 通过建立隧道,绕过了这个限制。
- 无需配置路由器或防火墙:传统方案需要你在路由器上做端口转发,还要申请公网 IP,过程繁琐且容易出错。cpolar 完全在软件层面完成,不需要碰网络设备。
- 临时需求 vs 长期方案:如果你只是偶尔需要远程访问数据库(比如给同事看数据、给客户演示 demo),cpolar 的免费版就够用了。它比搭建 frp 服务端更轻量,比购买云数据库更省钱。
PostgreSQL + cpolar 使用教程:从零到远程连接
这部分是全文的核心。我会按照实际操作顺序,带你一步步完成配置。PostgreSQL 工具怎么用 和 cpolar 怎么用 会穿插讲解,确保你跟着做完就能用。
#### 第一步:在 CentOS 7 上安装 PostgreSQL
本次教程在 Linux 环境下进行。如果你用的是 Ubuntu 或 Debian,安装命令略有不同,但核心逻辑一致。
在官网上选择 Linux 系统,使用 yum 来下载软件。只需选择对应版本和平台,即可生成下载和安装的脚本。
按照生成的脚本,安装。我这里用的是 PostgreSQL 14:
PR0
常见错误:很多新手在这一步会卡在 initdb 失败,通常是因为 /var/lib/pgsql/14/data/ 目录已经存在。解决方法很简单:先删除该目录,再重新执行 initdb。
#### 第二步:配置 PostgreSQL 允许远程访问
PostgreSQL 默认只允许本地连接,需要手动修改两个配置文件。
修改管理员密码:
PR1
配置远程访问:
修改 pg_hba.conf,新增一行允许所有 IP 连接:
PR2
在文件末尾添加:
PR3
修改监听地址为任意地址,即修改 postgresql.conf 文件:
PR4
找到 listen_addresses,修改为:
PR5
重启 PostgreSQL 使配置生效:
PR6
测试本地连接:
切换到 postgres 用户,新建一个测试库:
PR7
使用另一台服务器,远程连接到该库(这里用的是内网 IP):
PR8
如果这一步成功,说明 PostgreSQL 的远程访问已经配置好了。接下来就是 cpolar 的工作。
#### 第三步:安装 cpolar 内网穿透工具
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
安装 cpolar:
使用一键脚本安装命令:
PR9
启动 cpolar 服务:
安装完成后,执行下方命令查看 cpolar 服务状态:
PR10
如果显示 active (running),说明启动成功。
访问 cpolar Web 管理界面:
在浏览器上输入虚拟机主机 IP 加 9200 端口,即 http://192.168.42.101:9200,访问 cpolar 管理界面。使用 cpolar 官网注册的账号登录。
#### 第四步:配置公网地址(核心步骤)
登录后,在 Web 界面配置隧道:
- 隧道名称:可自定义,本例使用了
postgres,注意不要与已有的隧道名称重复。 - 协议:选择
tcp。 - 本地地址:
192.168.42.140:5432(你的 PostgreSQL 内网地址和端口)。 - 端口类型:随机临时 TCP 端口。
- 地区:China Vip。
创建成功后,打开左侧“在线隧道列表”,可以看到刚刚通过创建隧道生成了公网地址。接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。
例如,生成的公网地址可能是 2.tcp.vip.cpolar.cn:11084。其中 tcp 表示协议类型,2.tcp.vip.cpolar.cn 是 cpolar 提供的域名,11084 是随机分配的公网端口号。
测试远程连接:
通过 cpolar 提供的公网地址和端口,从任意一台主机连接到 PostgreSQL:
PR11
如果看到 postgres=# 提示符,说明远程连接成功。
进阶技巧:如果你不想每次连接都输入密码,可以在 ~/.pgpass 文件中配置密码,格式为 host:port:database:user:password。
#### 第五步:保留固定 TCP 公网地址(可选)
免费版 cpolar 生成的公网地址是随机的,每次重启服务都会变化。如果你需要固定地址,可以升级到付费版,或者使用 cpolar 的“保留固定 TCP 地址”功能。
保留固定地址:
登录 cpolar Web UI 管理界面,点击左侧仪表盘的“隧道管理”——“隧道列表”,找到要配置的隧道 postgres,点击右侧的“编辑”。
修改隧道信息:
- 端口类型:选择“固定 TCP 端口”。
- 预留的 TCP 地址:填写保留成功的 TCP 地址。
点击“更新”。创建完成后,打开“在线隧道列表”,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的 TCP 地址。
测试固定地址:
PR12
这样,我们就成功打破了“没有公网 IP 就无法远程访问数据库”的固有认知。
使用误区与进阶技巧
#### 常见误区
- 误区一:cpolar 只能用于临时测试
实际上,cpolar 的付费版支持固定域名和更高的带宽,完全可以用于生产环境的轻量级远程访问。但如果你需要高并发、低延迟的数据库连接,还是建议使用云数据库。
- 误区二:内网穿透不安全
cpolar 的隧道是加密的,而且你可以通过 PostgreSQL 的 pg_hba.conf 限制只允许特定 IP 连接,或者使用 SSL 证书进一步加强安全性。内网穿透不等于不安全,关键在于配置。
- 误区三:免费版完全够用
免费版的带宽和连接数有限,如果频繁进行大数据量查询,可能会遇到延迟或断连。PostgreSQL 免费版够用吗?对于日常开发调试、偶尔的远程维护,免费版完全够用;但对于生产环境,建议升级付费版或使用云数据库。
#### 进阶技巧
- 使用 SSH 隧道 + cpolar 双重加密:如果你对安全性要求极高,可以先通过 SSH 连接到本地服务器,再通过 cpolar 隧道连接数据库。这样即使 cpolar 隧道被监听,数据也是加密的。
- 结合 pgAdmin 使用:cpolar 生成的公网地址可以直接填入 pgAdmin 的连接信息中,实现图形化远程管理数据库。这对于不习惯命令行的新手来说非常友好。
- 自动化脚本:将 cpolar 的启动命令写入系统服务,确保服务器重启后自动建立隧道。这样你就不需要每次手动启动 cpolar 了。
行业趋势:为什么内网穿透工具越来越火?
随着远程办公和混合云架构的普及,开发者对“随时随地访问本地资源”的需求急剧上升。传统的 VPN 方案配置复杂、维护成本高,而内网穿透工具凭借“零配置、一键启动”的优势,迅速成为开发者的首选。
用户需求的变化:从“我需要一个公网 IP”到“我需要一个能用的隧道”。效率优先,成本其次。cpolar、Ngrok、Frp 等工具的出现,让“没有公网 IP”不再是远程连接的障碍。
工具选择变多:如果你正在筛选类似工具,可以参考「国强导航 – 爱国主题实用工具网址大全 – 高效、便捷、更新快」进行系统对比。
使用建议:谁适合用 cpolar + PostgreSQL?
推荐使用:
- 个人开发者:需要远程调试本地数据库,或者给客户展示 demo。
- 小型团队:没有预算购买云数据库,但需要临时远程访问。
- 运维人员:需要远程维护内网服务器上的 PostgreSQL。
不推荐使用:
- 大型生产环境:高并发、低延迟的场景,建议使用云数据库或自建专线。
- 对安全性要求极高的场景:金融、医疗等行业的数据库,建议使用 VPN 或专线连接。
- 需要长期稳定连接:免费版的随机地址和带宽限制,可能无法满足长期稳定连接的需求。
总结
用 cpolar 打通之后,数据库放在哪就不重要了。放在家里电脑、放在公司服务器、放在虚拟机里,只要机器能联网,就能连上。
这个方案用来应付临时需求很顺手——比如同事要看个数据、客户要看个 demo,不用专门去配云数据库环境,直接给他一个地址就行。长期跑的话还是建议走正经云服务,但这种“临时伸手就能够到”的感觉,用过就知道方便。
PostgreSQL + cpolar 这套组合,对于个人开发者和小型团队来说,是一个低成本、高效率的远程数据库解决方案。如果你正在寻找 PostgreSQL 工具评测 或者 内网穿透工具怎么用 的答案,这篇教程应该能帮你省下不少时间。





