1
我有一個PostgreSQL數據庫,有一個表。每天,我想導出數據WHERE date='whatever'
所以它只有轉儲我管理的數據今天。增量導出和導入postgresql C#
然後,我去到另一個數據庫,並導入轉儲文件,而不是覆蓋什麼,我已經有了,我想追加到它...
我試圖做到這一點在C#控制檯應用程序...任何建議?
謝謝。
我有一個PostgreSQL數據庫,有一個表。每天,我想導出數據WHERE date='whatever'
所以它只有轉儲我管理的數據今天。增量導出和導入postgresql C#
然後,我去到另一個數據庫,並導入轉儲文件,而不是覆蓋什麼,我已經有了,我想追加到它...
我試圖做到這一點在C#控制檯應用程序...任何建議?
謝謝。
不要這樣做。使用現有的維護良好的解決方案之一,如Bucardo,Londiste,Slony-I等。
請參閱Pg wiki上的replication。
Londiste至少可以應付被停止,然後當你想要趕上時恢復,所以你可以運行它作爲每日批次,如果你想。
如果你正在處理的只是一個插入表,那麼你可以避免需要完整的複製;所有你需要的是像
psql -h host1 db1 -c \
"\copy (SELECT * FROM the_table WHERE the_date = '2012-01-01') TO stdout" \
| psql -h host2 db2 -c \
"\copy the_table FROM STDIN"
你可以做你的C#應用程序中同樣的事情用做兩個PostgreSQL的連接,這樣做的一個COPY FROM
,和另一位COPY TO
,然後複製他們之間的行。你會發現nPgSQL對COPY
的支持對此很有用。
爲什麼你不使用更強大的東西? –
客戶端需要使用PostgreSQL,他不需要MSSQL,MySQL等。只是PostgreSQL ...真是太遺憾了。 –
我的意思是爲什麼你必須編寫自己的備份解決方案。 –