Postgresql 存储关键数据的新模式?

Postgresql 存储关键数据的新模式?,postgresql,database-design,database-schema,Postgresql,Database Design,Database Schema,我正试图找到解决方案来标记应用程序中的关键数据。一个明显的想法是创建一个类似“NotRemovable”的标志,但我希望避免将同一列添加到db中的许多表中。 所以我想创建一个新的模式来存储这些日期。在这个模式中,我希望使用相同的约束保留公共中存在的所有表。 我发现了几个优点: 我可以撤销整个模式的删除权限,只允许从公共模式中删除数据(对于应用程序来说并不重要) 我可以通过截断公共模式中的所有内容(在我得到的第二个模式中),快速准备要测试的数据库的新版本 只有关键数据) 我通过instead o

我正试图找到解决方案来标记应用程序中的关键数据。一个明显的想法是创建一个类似“NotRemovable”的标志,但我希望避免将同一列添加到db中的许多表中。 所以我想创建一个新的模式来存储这些日期。在这个模式中,我希望使用相同的约束保留公共中存在的所有表。 我发现了几个优点:

  • 我可以撤销整个模式的删除权限,只允许从公共模式中删除数据(对于应用程序来说并不重要)
  • 我可以通过截断公共模式中的所有内容(在我得到的第二个模式中),快速准备要测试的数据库的新版本 只有关键数据)
  • 我通过instead of规则执行SELECT和其他操作,该规则显示两个架构中的数据,并添加一个虚拟列(仅在 视图),标记数据的来源
  • 我不必在应用程序的配置中存储行的id
  • 我有数据的逻辑分离(基本和用户添加)
这是个好主意吗?你觉得这有什么问题吗? 这是一种好的做法吗


提前感谢。

如果要执行此操作,最简单的方法是使用表继承使select语句透明,并保持写入操作按规则重定向。这是表分区的方式,但在这种情况下,您可以根据对不同权限的需要而不是键进行分区。

我尽可能了解您的要求,您希望统一两组数据,一组是重要的只读数据,另一组是不重要的读/写数据。您希望这两个表在应用程序中显示为一个表。对吗?没错。用于公共架构中的所有表。