理想的には、9.1の新しい「WITH ROWS」機能は、データベースの境界を越えてサポートされていましたが、単一のDBでしか動作しないようです。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;
私は「LiveDB.events。DELETE FROM」と、私は「ArchiveDB.eventsのINSERT INTO」を行うことができますのようなものとしてイベントを指定することができました望みます。 dblinkは移動する行のリストを取得するようには機能していないようですが、たとえそうであっても、この文がトランザクション間で安全であるかどうかはわかりません...
スキーマは、この場合に役立ちます。彼らはあなたのニーズを満たすことができますか? –