type
Post
status
Published
date
Apr 5, 2025
slug
fnos-pgsql-connect
summary
tags
开发
category
技术分享
icon
password
本文借用gemini-2.0-flash-lite润色
1. 找到并编辑配置文件:
pg_hba.conf文件 (控制客户端认证): 这个文件决定了谁可以连接到你的数据库。- 找到并编辑文件:
sudo vi /etc/postgresql/15/main/pg_hba.conf(根据你的 PostgreSQL 版本,15可能需要修改) - 添加远程连接规则: 在文件末尾添加以下两行 (允许所有 IP 通过 MD5 密码认证):
- 保存并退出 (在
vi中输入:wq并回车)
postgresql.conf文件 (配置数据库监听地址): 这个文件控制 PostgreSQL 监听哪个 IP 地址。- 找到并编辑文件:
sudo vi /etc/postgresql/15/main/postgresql.conf - 修改监听地址: 找到
listen_addresses,修改为:listen_addresses = '*'(监听所有地址) - 保存并退出
2. 配置防火墙 (开放端口):
- 开放 5432 端口 (PostgreSQL 默认端口):
- 使用
iptables:sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT - 注意:
iptables规则重启后会失效。你需要学习如何持久化你的 iptables 规则 (例如,使用iptables-persistent)。
3. 重启 PostgreSQL 服务:
- 运行:
sudo systemctl restart postgresql(使配置生效)
4. 创建数据库用户:
- 登录 PostgreSQL:
sudo -u postgres psql(以默认用户 postgres 身份登录)
- 创建新用户: (将
mynewadmin替换成你想要的用户名,securepassword替换成安全的密码!) - 注意: PostgreSQL 用户名是区分大小写的,但强烈建议使用小写。即使你创建时使用了大写,在使用时也应该使用小写。
- 退出 PostgreSQL: 输入
\\q并回车
5. 远程连接测试:
- 现在你可以使用像
psql客户端 (或其它数据库客户端) 从另一台机器连接到你的 PostgreSQL 数据库了。使用你的用户名 (小写) 和密码以及服务器的 IP 地址。
参考资料:
附录:
vi 编辑器常见操作
操作 | 说明 | 命令 |
打开文件 | ㅤ | vi <文件名> |
插入模式 | 允许输入文本 | i (在当前光标位置插入) a (在当前光标后插入) o (在当前行下方插入新行) O (在当前行上方插入新行) |
退出插入模式 | 返回命令模式 | Esc |
保存文件 | ㅤ | :w (保存) |
保存并退出 | ㅤ | :wq (保存并退出) |
退出 (不保存) | ㅤ | :q! (强制退出,不保存更改) |
移动光标 | ㅤ | h (左) j (下) k (上) l (右) |
移动到行首 | ㅤ | 0 |
移动到行尾 | ㅤ | $ |
移动到文件首 | ㅤ | gg |
移动到文件尾 | ㅤ | G |
删除字符 | 删除光标下的字符 | x |
删除整行 | 删除当前行 | dd |
撤销 | 撤销上一步操作 | u |
复制 | 复制当前行 | yy |
粘贴 | 粘贴复制的行 | p |
查找 | 查找特定字符串 | /字符串 (然后按 Enter,使用 n 查找下一个) |
替换 | 替换字符串 | :s/原字符串/新字符串/g (替换所有) |
复制多行 | 从当前行开始,复制 n 行,复制后粘贴 | [数字]yy |
删除多行 | 从当前行开始,删除 n 行 | [数字]dd |
显示行号 | (在命令模式下) | :set number |
隐藏行号 | (在命令模式下) | :set nonumber |