我有一个聊天应用程序使用的Postgres数据库。聊天系统在它们变大时会经常截断这些表,但我需要将这些数据复制到另一个Postgres数据库中。我不会截断这个数据库中的表。
如何在聊天系统的数据库上配置几个表格,以便将数据复制到另一个Postgres数据库。有没有快速的方法来实现这一目标?
答案 0 :(得分:2)
答案 1 :(得分:1)
如果您每隔一天只复制一批行,那么使用普通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开始。