簡體   English   中英

增量導出和導入Postgresql C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM