系统设置
数据管理
数据管理页面提供数据库维护、备份恢复和日志清理功能,是系统运维的重要工具。通过此页面,管理员可以查看数据库状态、清理历史日志、导出备份文件以及从备份恢复数据。
访问路径
在管理后台左侧导航栏中,点击 设置 > 数据管理,或直接访问 /settings/data。
仅管理员可访问
数据管理功能仅对具有 admin 角色的用户开放。此页面涉及敏感操作,请谨慎使用。
功能模块
数据管理页面分为四个核心功能区域:
数据库状态
实时显示数据库的连接状态和基本信息:
| 指标 | 说明 |
|---|---|
| 连接状态 | 绿色脉冲点表示连接正常,橙色表示不可用 |
| 数据库大小 | 当前数据库占用的存储空间 |
| 表数量 | 数据库中的表总数 |
点击右侧的刷新按钮可手动更新状态信息。如果连接异常,页面会显示具体的错误信息,并提供重试按钮。
日志清理
手动清理历史日志数据,释放数据库存储空间。
清理影响统计数据
排行榜和统计数据是基于日志记录实时计算的,日志清理后:
- 排行榜数据会丢失:用户排行、供应商排行、模型排行等统计会随日志删除而消失
- 月度统计受影响:如果清理了当月的日志,本月排行榜将无法正确显示
- 日志详情永久删除:请求/响应内容、错误信息等无法恢复
建议至少保留 30 天日志,以确保月排行榜能够正常工作。
清理范围选项
| 选项 | 说明 |
|---|---|
| 一周前 (7 天) | 清理 7 天前的日志 |
| 一个月前 (30 天) | 清理 30 天前的日志(默认) |
| 三个月前 (90 天) | 清理 90 天前的日志 |
| 六个月前 (180 天) | 清理 180 天前的日志 |
清理流程
- 选择清理范围(默认为 30 天前)
- 点击 清理日志 按钮
- 系统自动预览将删除的日志数量
- 确认后执行清理操作
- 完成后显示清理结果(删除条数、批次数、耗时)
操作不可逆
日志清理是物理删除操作,数据无法恢复。建议在清理前先导出数据库备份。
数据导出
导出完整的数据库备份文件,用于数据迁移或灾难恢复。
导出格式
- 文件格式:PostgreSQL custom format (
.dump) - 特点:自动压缩、兼容不同版本的数据库结构
- 文件命名:
backup_YYYY-MM-DDTHH-mm-ss.dump
导出步骤
- 点击 导出数据库 按钮
- 等待导出完成(大型数据库可能需要较长时间)
- 浏览器自动下载备份文件
备份建议
建议定期导出数据库备份,特别是在以下场景:
- 执行日志清理前
- 系统升级前
- 数据迁移前
- 执行数据导入前
数据导入
从备份文件恢复数据库,支持覆盖模式和合并模式。
导入模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 覆盖模式 | 导入前删除所有现有数据,确保与备份完全一致 | 完整恢复、环境迁移 |
| 合并模式 | 保留现有数据,尝试插入备份中的数据 | 数据补充(可能因主键冲突失败) |
导入步骤
- 点击 选择备份文件,选择
.dump格式的备份文件 - 选择导入模式:
- 勾选「清除现有数据」使用覆盖模式
- 不勾选则使用合并模式
- 点击 导入数据库 按钮
- 在确认对话框中核实操作信息
- 点击 确认导入 开始执行
- 实时查看导入进度日志
- 导入完成后刷新页面
覆盖模式警告
覆盖模式会永久删除当前数据库中的所有数据!请确保:
- 已备份当前数据
- 备份文件来源可靠
- 确认要恢复的环境正确
导入进度
导入过程中会实时显示进度日志,包括:
- 各表的恢复状态
- 成功/失败信息
- 最终完成状态
如果导入过程中出现警告(如跳过已存在的对象),系统会提示「导入完成(有警告)」,这通常不影响数据完整性。
使用说明与注意事项
页面底部提供可折叠的使用说明,包含以下要点:
| 主题 | 说明 |
|---|---|
| 日志清理 | 物理删除历史日志数据,不可恢复。排行榜统计基于日志计算,会随日志删除而丢失。建议至少保留 30 天日志。 |
| 备份格式 | 使用 PostgreSQL custom format (.dump),自动压缩且能够兼容不同版本。 |
| 覆盖模式 | 导入前会删除所有现有数据,确保与备份完全一致。适合完整恢复场景。 |
| 合并模式 | 保留现有数据,尝试插入备份数据。如果存在主键冲突可能导致失败。 |
| 安全建议 | 在执行导入操作前,建议先导出当前数据库作为备份,避免数据丢失。 |
| 环境要求 | 此功能需要 Docker Compose 部署环境。本地开发环境可能无法使用。 |
常见场景
场景一:定期维护
- 每周或每月定期导出数据库备份
- 根据需要清理超过 90 天的历史日志
- 将备份文件存储在安全位置
场景二:环境迁移
- 在源环境导出数据库备份
- 将备份文件传输到目标环境
- 在目标环境使用覆盖模式导入
- 验证数据完整性
场景三:数据恢复
- 确认要恢复的备份文件
- 导出当前数据库作为安全备份
- 使用覆盖模式导入目标备份
- 检查系统功能是否正常
故障排查
导出失败
- 检查数据库连接状态是否正常
- 确认磁盘空间是否充足
- 查看浏览器控制台是否有网络错误
导入失败
- 确认备份文件格式正确(
.dump格式) - 检查备份文件是否完整未损坏
- 合并模式下检查是否存在主键冲突
- 查看导入进度日志中的错误信息
日志清理失败
- 确认数据库连接正常
- 检查是否有其他操作正在占用数据库
- 尝试减小清理范围重新执行
