首页 > 解决方案 > Postgraphile 视图与函数

问题描述

最近,我开始使用 Postgraphile 来实现一个 API,以使用我目前正在开发的 react 应用程序。

随着我的应用程序的增长,我发现自己不断地编写带有智能注释的新视图,以创建对数据库的更复杂的查询。其中一些包括子查询、联合和合并语句。至于现在大约有 20 到 30 个视图,而且它变得越来越难以维护。

是否有任何替代方案仍然允许我使用 Postgraphile 的灵活性和强大功能,而无需不断编写越来越多的视图。

谢谢 :)

标签: postgresqlgraphqlpostgraphile

解决方案


PostGraphile 维护者在这里。在 PostGraphile 中工作时,我根本不使用视图(除了一些精心挑选的物化视图);相反,我使用 SQL 函数。与 PostGraphile 一起使用时,SQL 函数比视图具有许多优点:它们往往具有更高的性能(特别是当它们被内联时),它们可用于添加新的/更好的关系,它们尊重您的 RLS 策略/授权,它们可以如果您需要它们SECURITY DEFINER(查看自定义查询计算列

根据您要实现的目标,您还可以使用makeExtendSchemaPlugin.

一个很好的建议来源是我们Discord 聊天的成员。

如果不知道您用视图解决了什么问题,很难进一步提出建议:)


推荐阅读