PostgreSQL 作为开源关系型数据库,在数据存储和事务处理上表现稳健,但默认配置下仅支持局域网访问。对于异地办公或移动开发场景,直接连接内网数据库往往受限。通过 cpolar 内网穿透技术,可以在没有公网 IP 的情况下将本地服务映射到公网,实现安全便捷的远程访问。
安装 PostgreSQL
本次演示基于 CentOS 7 环境。首先从官网获取对应版本的安装脚本:

使用 yum 命令执行安装,注意参数间需有空格:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14
安装完成后,需要修改管理员密码。切换到 postgres 用户并进入 psql 命令行:
su postgres
psql
alter user postgres with password 'postgres123';

配置远程访问权限
要让外部能够连接,必须修改两个关键配置文件。首先是 pg_hba.conf,用于控制访问规则。找到文件位置并使用 vim 编辑:
sudo vim /var/lib/pgsql/14/data/pg_hba.conf
在文件末尾添加允许任意 IP 连接的规则(生产环境建议限制特定 IP):
host all all 0.0.0.0/0 scram-sha-256
其次是 postgresql.conf,需修改监听地址为所有网卡:
vi /var/lib/pgsql/14/data/postgresql.conf
找到 listen_addresses 项,将其改为 *:
listen_addresses = '*'
修改后记得重启服务使配置生效:
systemctl restart postgresql-14
创建测试数据库并验证局域网连接:
su postgres
create database mydb;
psql -h 192.168.42.140 -p 5432 -U postgres -d mydb







