允许Web用户从Postgresql动态创建报表

时间:2012-11-22 17:20:40

标签: postgresql report

我有一个带有Postgresql后端的Web应用程序。为了简单起见,我们假设它是一个带有Web服务器日志的表(实际上有表和引用的混合)。由于我的用户对此表中的不同数据有不同的需求,我正在考虑实现一个Web前端,他们可以根据需要运行自己的报告(即启动后台作业为他们运行...有些查询可能会很慢,因为实例子选择相同的表,聚合等)。

是否有实施此类自定义报告工具的最佳做法?

我认为以下场景是一种可能的解决方案:

  • 用户构建查询并选择他/她想要的字段,该字段将转换为SQL查询
  • SQL将查询结果选择为一个名为“report_randomname479472984”的新表,该表作为后台作业运行,甚至可能将表名添加到包含有关报告的元信息的报表中。
  • Web界面将名称以“report_”开头的所有表列为可用报告,或者查询元信息表中有关可用报告表的信息。
  • 当用户显示报告时,网页将构建为html表,其中数据库中的每个可用列都是html表中的列

这是从SQL后端创建动态按需报告的一种不错的方法吗?这样做时我需要注意什么(SQL注入除外)?

有没有办法可以强制执行元表的完整性,以便每个report_ 总有一行,并且元表中的所有行实际上都指向一个有效的报告_

1 个答案:

答案 0 :(得分:3)

恕我直言,你应该做的第一件事 - 搜索现有的报告构建,日志处理,OLAP等解决方案......

他们有很多。免费和付费。我打赌你可以找到一个适合你的任务。

它将为您节省大量时间,并为您的客户提供高质量的解决方案。