我有一個由聊天應用程序使用的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