PG 数据同步
约 2305 字大约 8 分钟
2026-03-29 10:00:00
🗄️ 多端数据协同与集中存储
支持连接 PostgreSQL 数据库,通过同步预检查与应用同步功能,实现班级数据的云端存储与多设备协同。
什么是 PG 数据同步
PostgreSQL 是一种功能强大的开源关系型数据库。SecScore 支持将班级数据(学生、理由预设、积分记录、结算历史等)同步到 PostgreSQL 服务器,实现以下目标:
- 数据集中存储:将数据保存在服务器而非本地,避免单点故障
- 多设备协同:教室电脑、办公室电脑、教师个人设备均可访问同一数据源
- 团队协作:多位教师可同时查看和操作同一班级数据
- 数据安全:配合服务器的自动备份机制,进一步提升数据可靠性
适用场景
以下情况建议使用 PG 数据同步:
- 需要多台电脑共同维护同一班级数据
- 希望数据存储在可管控的服务器而非本地
- 需要实时查看其他设备上的最新积分变动
- 有 IT 支持能维护 PostgreSQL 服务器
连接 PostgreSQL
前置条件
- 已部署并配置好的 PostgreSQL 服务器(12.0 或更高版本)
- 数据库网络可被客户端设备访问(检查防火墙规则)
- 已创建专用数据库和用户(建议单独为 SecScore 创建)
连接配置
在 SecScore 设置中找到 PG 数据同步配置项:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 主机地址 | PostgreSQL 服务器地址 | 192.168.1.100 或 db.example.com |
| 端口 | 数据库服务端口,默认 5432 | 5432 |
| 数据库名 | 目标数据库名称 | secscore |
| 用户名 | 数据库登录用户 | secscore_user |
| 密码 | 对应用户的密码 | (敏感信息,妥善保管) |
| SSL/TLS | 是否启用加密连接 | 生产环境强烈建议启用 |
连接步骤:
- 在设置中找到 PG 数据同步配置页面
- 填写上述连接信息
- 点击测试连接按钮验证配置
- 连接成功后,即可进行数据同步操作
同步预检查
在正式应用同步前,SecScore 提供预检查功能,帮助你了解同步将产生的影响。
预检查内容
预检查会对比本地数据与远程数据库,分析以下差异:
- 新增记录:本地有而远程没有的学生、理由、积分记录
- 更新记录:两端都有但内容不同的数据
- 删除记录:远程有而本地没有的数据
- 冲突标记:同一记录两端都有修改的情况
如何使用预检查
- 配置好数据库连接后,进入同步界面
- 点击「同步预检查」按钮
- 等待系统完成数据对比
- 查看预检查报告,了解即将发生的变更
预检查报告解读
报告会以表格形式展示差异详情:
- 冲突项:标记为红色,需要特别关注
- 新增项:标记为绿色,将添加到远程
- 修改项:标记为黄色,将更新远程数据
- 删除项:标记为灰色,将从远程删除
建议仔细核对每一项变更,尤其是涉及积分记录的修改。
应用同步
确认预检查结果无误后,可以执行实际的同步操作。
同步模式
SecScore 提供两种同步方向:
上传(本地到远程)
- 将本地数据同步到 PostgreSQL 服务器
- 适合首次配置或单设备作为数据源的场景
- 会覆盖远程对应数据,请确保目标数据库已备份
下载(远程到本地)
- 从 PostgreSQL 服务器获取数据到本地
- 适合在新设备上配置或恢复数据
- 会覆盖本地当前数据,执行前建议先导出本地备份
同步步骤
- 完成预检查并确认变更内容
- 选择同步方向(上传或下载)
- 点击「应用同步」按钮
- 等待同步完成,查看结果摘要
- 验证同步后的数据完整性
增量同步
同步机制支持增量更新:
- 仅传输变更的数据,减少网络流量
- 保留同步历史,便于追踪数据变更来源
- 支持冲突检测,同一记录被多处修改时会提示
多设备数据协同
PG 数据同步的核心价值在于支持多设备协同工作。
典型工作流
场景:班主任使用教室电脑,副班主任使用办公室电脑
- 教室电脑完成日常积分操作
- 操作后点击「上传同步」,将变更推送到服务器
- 办公室电脑点击「下载同步」,获取最新数据
- 副班主任可在办公室查看最新积分榜和积分详情
同步频率建议
| 场景 | 建议频率 | 说明 |
|---|---|---|
| 课间操作后 | 即时同步 | 确保下节课能看到最新积分 |
| 日终 | 必同步 | 防止当日数据丢失 |
| 结算前 | 必同步 | 确保结算基于最新数据 |
| 跨设备切换 | 先下载再操作 | 避免基于旧数据操作 |
多人同时操作注意事项
- 同时上传风险:如果多台设备几乎同时上传,可能产生冲突
- 建议策略:由一位教师负责主要操作,其他设备主要用于查看
- 冲突处理:如遇冲突,系统会提示,需要手动选择保留哪方数据
常见问题与故障排除
连接失败
问题现象:测试连接时报错或超时
可能原因与解决:
- 网络不通:检查数据库服务器是否可达(可尝试 ping 或 telnet 测试端口)
- 防火墙拦截:确认服务器防火墙允许 5432 端口访问
- 配置错误:核对主机地址、端口、数据库名、用户名、密码是否正确
- PostgreSQL 配置:检查
pg_hba.conf是否允许远程连接
同步缓慢或卡顿
问题现象:同步进度长时间无响应
解决方法:
- 检查网络带宽,大量历史数据首次同步可能需要较长时间
- 如数据量较大,可考虑分批次导出 JSON 后导入新设备
- 避免在网络高峰期进行大规模同步
数据不一致
问题现象:同步后发现某些记录缺失或数值不对
解决方法:
- 首先确认同步方向是否正确(上传还是下载)
- 检查是否有多人同时修改同一数据
- 如问题持续,可尝试重新配置连接或联系管理员检查数据库状态
SSL 连接问题
问题现象:启用 SSL 后连接失败
解决方法:
- 确认服务器已正确配置 SSL 证书
- 检查客户端是否信任服务器证书
- 如需跳过证书验证(仅测试环境),可在高级选项中配置
安全注意事项
数据传输安全
- 生产环境必须启用 SSL/TLS:防止数据在网络传输过程中被窃取或篡改
- 避免公网直接暴露数据库:如必须通过公网访问,请使用 VPN 或 SSH 隧道
- 定期更换密码:建议每 3-6 个月更换一次数据库用户密码
数据库访问控制
- 最小权限原则:为 SecScore 创建专用数据库用户,仅授予必要权限
- 建议权限范围:
SELECT、INSERT、UPDATE、DELETE、CREATE(如需自动建表) - 避免使用超级用户:禁止使用 postgres 超级用户进行日常同步
数据备份策略
即使使用 PG 数据同步,仍建议:
- 定期导出 JSON 备份:同步依赖网络,本地备份是最后的保障
- 数据库级备份:让服务器管理员配置 PostgreSQL 的自动备份
- 测试恢复流程:定期验证备份是否能成功恢复
敏感信息保护
- 数据库密码存储在本地配置中,请确保电脑安全
- 离开座位时锁定屏幕(Win+L)
- 定期清理浏览器和应用日志,防止敏感信息泄露
相关功能
最佳实践
- 首次配置:先在测试环境验证连接和同步功能
- 建立同步习惯:每次操作后养成同步的习惯,特别是在切换设备前
- 监控同步状态:定期检查同步日志,及时发现潜在问题
- 保留本地备份:即使使用云端同步,定期导出 JSON 仍是好习惯
- 沟通协作:多人使用时建立简单的同步规则,避免冲突
如有同步相关的技术问题,请携带同步日志和数据库版本信息联系支持。
贡献者
更新日志
2026/3/29 07:58
查看所有更新日志
388c1-feat(docs): 更新导航和新增功能文档于
版权所有
版权归属:SECTL
许可证:CC BY-NC-SA 4.0