Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 流式复制-模糊复制?_Postgresql - Fatal编程技术网

Postgresql 流式复制-模糊复制?

Postgresql 流式复制-模糊复制?,postgresql,Postgresql,我想在PG9中为QA使用流式复制,也就是说,将数据从生产流传输到QA。警告:我需要在QA中混淆数据(更改密码散列、电子邮件等) 是否可以通过流式复制实现这一点?如果没有,是否有其他方法可以使用动态模糊处理进行增量更新?我认为您可能需要在这里推出自己的产品。我要做的是在实际表上设置一个触发器,将一个模糊的/任意的值放在这些东西的位置,并将它们推到另一个模式中具有相同名称的表中。然后我将复制数据库,用这些表替换原始表。这样,就不会有安全的数据离开生产,而且您可以使用预构建的复制引擎(slony),而

我想在PG9中为QA使用流式复制,也就是说,将数据从生产流传输到QA。警告:我需要在QA中混淆数据(更改密码散列、电子邮件等)


是否可以通过流式复制实现这一点?如果没有,是否有其他方法可以使用动态模糊处理进行增量更新?

我认为您可能需要在这里推出自己的产品。我要做的是在实际表上设置一个触发器,将一个模糊的/任意的值放在这些东西的位置,并将它们推到另一个模式中具有相同名称的表中。然后我将复制数据库,用这些表替换原始表。这样,就不会有安全的数据离开生产,而且您可以使用预构建的复制引擎(slony),而不必自己滚动所有内容。如果您需要有关slony的帮助,请转到slony管理指南开始。这看起来很复杂,但也不算太糟糕,一旦你掌握了窍门,你就可以用它做一些非常酷和神奇的事情。

简单明了的回答:不

在PostgreSQL中,嵌入式流式复制主设备和从设备必须相同。不仅您不能更改特定的记录和字段,而且您也不能更改例如数据库的数量。主服务器上完整的“数据库集群”(及其所有数据库、表和数据)将复制到从服务器上


您实际需要的是某种基于触发器的逻辑复制。我听说pglink可以做到这一点,但我从未尝试过。

需要澄清的是:我已经运行PostgreSQL流式复制一段时间了。它是一种二进制复制机制,因此不能在数据库中隔离数据库或表。要隔离数据库,您需要通过日志传送使用PITR(时间点复制)。有了PITR,你也无法实现你想要的。不过我喜欢斯科特的建议!