SuperAPI AI 工具集

PostgreSQL Database Administration

数据与分析

查看项目

更新于 10-15 09:12

技能介绍

用途

该技能面向客户支持技术赋能场景,提供 PostgreSQL 数据库管理的综合知识。PostgreSQL 是开源对象关系型数据库系统,已持续开发超过 35 年,以可靠性、功能丰富和性能著称。在客户支持环境中,它适合处理复杂的工单管理、用户分析、审计日志和实时报表需求。

主要能力

1. 客户支持数据库设计

资料给出支持工单系统的核心表结构示例,包括:

  • users:用户表,含邮箱、姓名、角色(customer/agent/admin)、时间戳、是否激活、JSONB 元数据。
  • tickets:工单表,含工单编号、客户、指派坐席、主题、描述、状态(open/in_progress/waiting/resolved/closed)、优先级(low/medium/high/critical)、分类、时间戳、标签数组、自定义字段 JSONB、全文检索向量。
  • ticket_comments:评论表,含工单、用户、评论内容、是否内部、附件 JSONB、检索向量。
  • ticket_history:历史表,记录字段变更前后值。
  • organizations、user_organizations:组织及用户组织关系。
  • audit_logs:审计日志表,含表名、记录 ID、动作、用户、新旧数据、时间、IP、User-Agent,并示例按月分区。

设计原则包括:规范化与反规范化平衡、可扩展性、可审计性、使用 JSONB 支持动态元数据、针对常见查询模式建立索引。

2. 索引策略

  • B-Tree 索引:按状态、客户、坐席、状态+优先级+创建时间、邮箱、工单编号等。
  • GIN 索引:用于全文检索(工单主题/描述/标签、评论)、JSONB 包含查询、数组标签查询、特定 JSONB 键。
  • 部分索引:仅索引活跃工单、未指派工单、高优先级未解决工单。
  • 全文检索触发器:维护 search_vector,对主题、描述、标签分别设置权重 A/B/C。

3. 全文检索实现

  • 基本检索:使用 to_tsquery 与 ts_rank 按关键词搜索并按相关度排序。
  • 高级检索:使用 websearch_to_tsquery 支持短语匹配,并用 ts_headline 生成摘要。
  • 跨表检索:通过 UNION ALL 同时搜索工单与评论。

4. 分析查询优化

  • 窗口函数:坐席绩效指标(解决量、平均解决时长、排名)。
  • 每日工单趋势与 7 日移动平均。
  • 物化视图:坐席绩效仪表盘,含总数、已解决、活跃、平均首次响应、平均解决时长、中位解决时长,并建立唯一索引以支持并发刷新。
  • SLA 跟踪:按优先级定义响应与解决目标小时数,统计达标率。

5. 大数据集分区

  • 按日期范围分区:tickets_partitioned 按月分区,并为每个分区建索引;提供自动创建下月分区的函数。
  • 按状态列表分区:将活跃、已解决、已关闭工单分到不同分区。

6. 备份与恢复

资料在“Backup and Recovery Procedures”处截断,仅显示标题,具体内容暂未提供。

使用方式

资料以 SQL 代码示例形式呈现,可直接参考用于建表、建索引、创建触发器、编写分析查询、创建分区与物化视图。示例使用 PostgreSQL 的 JSONB、tsvector、GIN、分区、物化视图、窗口函数等特性。

适用场景

  • 客户支持/工单系统的数据库设计与优化。
  • 需要全文检索、审计日志、SLA 统计、坐席绩效分析的场景。
  • 工单数据量大、需要按时间或状态分区的场景。

限制

  • 资料未提供安装命令、版本要求、部署步骤或收费信息。
  • 备份与恢复部分内容不完整,暂未提供具体步骤。
  • 示例中的 SLA 目标小时数、分区命名等为演示值,实际使用需按业务调整。