[英]incremental export and import postgresql C#
我有一個帶有一個表的PostgreSQL數據庫。 每一天,我要導出的數據WHERE date='whatever'
所以只傾倒我設法今天的數據。
然后,我轉到另一個數據庫,並導入該DUMP文件,但是我不想附加我已經擁有的文件,而是要附加到它上面。
我正在嘗試在C#控制台APP上執行此操作...有什么建議嗎?
謝謝。
不要這樣 為此,請使用現有維護良好的解決方案之一,例如Bucardo,Londiste,Slony-I等。
請參閱Pg Wiki上的復制 。
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"
請參閱COPY
手冊
您可以在C#應用程序中執行相同的操作,方法是建立兩個PostgreSQL連接,對一個進行COPY FROM
對另一個進行COPY TO
,然后在它們之間復制行。 您會發現nPgSQL對COPY
的支持對此很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.