对于存储在 PostgreSQL 9.5 数据库中的敏感信息的系统,必须安全地删除存储在表中的数据被删除(就像shred文件一样),并且即使特定数据集不会被删除,系统也是持久的,我正在尝试找出在删除表时安全删除基础数据文件的选项。
作为背景,我不是 DBA,但我是许多语言、上下文和数据库方面的经验丰富的实施者。我已经看过了,但一直没能找到一种方法来要求 PostgreSQLshred在表被DROPped时将它们释放到操作系统之前做相当于ding 其底层文件的工作。是否有内置方法可以要求 PostgreSQL 执行此操作?(我可能只是没有找到正确的东西 - 如果我错过了什么,我很抱歉,我很乐意接受滥用以及相关文档的链接)
我们正在查看的部分答案是在删除表之前手动粉碎给定关系及其索引的底层数据文件,但这不是那么优雅,我不确定它是否从表中获取所有信息我们需要删除。
我们还在研究粉碎数据磁盘上可用空间的策略 - 要么运行实用程序来执行此操作,要么定期复制数据卷,交换副本的结果,然后粉碎作为源的整个卷,以便其“可用”空间在此过程中被安全地覆盖。
我们错过了什么吗?还有其他我们没有找到的选择吗?如果我们必须手动清理,除了数据库文件夹中给定表的关系文件及其所有相关索引之外,还有其他地方需要粉碎数据吗?任何帮助或建议将不胜感激。