postgresql - 允许网络用户从 Postgresql 动态创建报告

标签 postgresql report

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

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

我在考虑以下场景作为可能的解决方案:

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

这是从 SQL 后端创建动态按需报告的好方法吗?执行此操作时有什么需要注意的吗(SQL 注入(inject)除外)?

有什么方法可以确保元表的完整性,以便每个报告始终存在一行_,并且元表中的所有行实际上都指向一个有效的报告_表?

最佳答案

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

有很多。免费和付费。我敢打赌,您一定能找到适合您的任务的。

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

关于postgresql - 允许网络用户从 Postgresql 动态创建报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517478/

相关文章:

SQL(Postgres)为列表参数中的每个项目获取一行,其优先顺序由另一列指定

postgresql - 正则表达式替换电话号码中的国家代码和空格

performance - 在 Web 应用程序中使用 .jasper 还是 .jrxml 更好?

mysql - 在表上生成报告的最佳方式

c# - 基类包括字段 'report' ,但其类型 (Microsoft.Reporting.WebForms.ReportViewer) 是

postgresql - 使用 --schema 参数将 Sqoop 导出到 postgres

postgresql - pgAdmin 中的 Auto FK 索引有什么用?

python - 如何在 Odoo v11 中添加打印自定义报告按钮?

report - iTunesConnect Autoingest 财务 yield 报告

postgresql - 我应该使用 SELECT 还是重复唯一键错误来检查用户和/或电子邮件是否存在?