在 Postgres 策略中使用函数及其性能缺陷

问题描述

我正在设计一个利用行级安全性的 Postgres 数据库。这些策略非常相似,我喜欢分解我的代码并编写一个函数并在所有策略中使用它。这是我的主要问题。 我有 3 个表:customers、campaign、budgets,它们都有两列名为 customer_id、team_id

customers 表的pk是customer_id,team_id

活动表的pk是customer_id、team_id、campaign_id

预算表的pk是customer_id、team_id、budget_id

客户表的广告系列和预算之间有外键。

我想编写一个接受 customer_id、team_id 并返回 true 或 false 的函数。 在让用户访问/写入表之前,此函数还会考虑用户角色。

我喜欢拥有一个函数的想法,因为我可以编辑该函数并且它会影响所有 3 个策略。我知道每次都需要评估函数,我想知道使用函数是否有一些性能缺陷。另一种方法是我可以为 3 个表复制粘贴相同的代码 3 次。

我使用的是 Postgres 12

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)