我有一个由聊天应用程序使用的Postgres数据库。聊天系统往往会在这些表变长时截断这些表,但我需要将这些数据复制到另一个Postgres数据库。我不会截断这个数据库中的表格。在Postgres DB之间复制数据
我如何在聊天系统的数据库上配置几个表来将数据复制到另一个Postgres数据库。有没有一种快速的方法来实现这一点?
我有一个由聊天应用程序使用的Postgres数据库。聊天系统往往会在这些表变长时截断这些表,但我需要将这些数据复制到另一个Postgres数据库。我不会截断这个数据库中的表格。在Postgres DB之间复制数据
我如何在聊天系统的数据库上配置几个表来将数据复制到另一个Postgres数据库。有没有一种快速的方法来实现这一点?
如果只复制了一批行的每一天,你可能是一个普通的INSERT
最好到不同的模式在同一个数据库或同一个数据库集群在不同的数据库(你需要像dblink为了那个原因)。
同一个数据库中最安全/最快的解决方案是writeable CTE(Postgres 9.1中的新增功能)。沿着这些路线的东西:
WITH x AS (
DELETE FROM tbl
WHERE <some condition>
RETURNING *
)
INSERT INTO backup.tbl
SELECT *
FROM x;
对于真正复制需求我会用这个优秀article at the Postgres Wiki有关复制,集群和池开始。
您是否考虑划分表格?为什么你需要将它复制到另一个数据库?不会有不同的模式足够吗? –
也许你可以使用dblink和AFTER INSERT触发器? – plundra