理想情況下,9.1中新的「WITH ROWS」功能將支持跨數據庫邊界,但它似乎只能在單個數據庫中工作。將古老的數據從一個數據庫表存檔到Postgresql 9.1中的另一個數據庫表中?
WITH moved_rows AS (
DELETE FROM events
WHERE
"date" >= '2010-01-01' AND
"date" < '2011-01-01'
RETURNING *
)
INSERT INTO events_archive
SELECT * FROM moved_rows;
我希望我能夠指定事件像「DELETE FROM LiveDB.events」,然後我可以做「INSERT INTO ArchiveDB.events」。 dblink似乎無法獲得要移動的行的列表,並且即使它確實如此,我也不確定這條語句是否跨DB的事務安全性...
模式在這種情況下可能很有用。他們能滿足你的需求嗎? – 2012-02-18 08:24:07