我正在启动一个新项目,该项目将作为多个客户的SaaS提供。所以,我正在考虑创建一个数据库,然后为每个客户创建单独的模式。
我已经定义了一些规则,第一条规则是所有客户必须始终拥有相同的架构。无论。如果一个客户获得更新,所有其他客户也将获得更新。
为此,我的问题是,是否可以从同一数据库中的另一个模式继承模式?如果没有,我是否必须在新模式中手动创建所有表和索引,并从主模式中的表继承它们?
我正在使用Postgresql 9.6,但如果需要,我也可以升级它。
我愿意接受建议。
提前致谢
答案 0 :(得分:0)
没有自动方法在两个模式中的所有表之间建立继承,您必须逐个执行(函数可以帮助)。
但是,我邀请您停下来思考一下您的数据模型。你期望有多少用户?如果可能有很多,则计划不同,因为具有数千个模式的数据库变得难以处理(例如,目录查找将变得缓慢)。
对于所有用户,您可能最好使用一个架构。如果您担心数据和安全性的分离,行级安全性可能是您的解决方案。