gpt4 book ai didi

c# - 增量导出和导入 postgresql C#

转载 作者:搜寻专家 更新时间:2023-10-30 23:13:43 25 4
gpt4 key购买 nike

我有一个 PostgreSQL 数据库,只有一个表。每天,我都想导出数据WHERE date='whatever',这样它转储我今天管理的数据。

然后,我转到另一个数据库,并导入该 DUMP 文件,但我不想覆盖已有的内容,而是想附加到它...

我正在尝试在 C# 控制台应用程序上执行此操作...有什么建议吗?

谢谢。

最佳答案

不要这样做。为此目的使用现有的维护良好的解决方案之一,如 Bucardo、Londiste、Slony-I 等。

参见 replication在 Pg 维基上。

Londiste 至少可以应对停止,然后在您希望它 catch 时恢复,因此您可以根据需要将其作为每日批处理运行。

如果您要处理的只是一个仅插入表,那么您可以避免完全复制的需要;你所需要的只是像

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"

参见 the manual on COPY

您可以在 C# 应用程序中做同样的事情,方法是建立两个 PostgreSQL 连接,在一个上执行 COPY FROM,在另一个上执行 COPY TO,然后复制他们之间的行。您会发现 nPgSQL 对 COPY 的支持对此很有用。

关于c# - 增量导出和导入 postgresql C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com