【问题标题】:Is it possible run query COPY TO STDOUT WITH BINARY and stream results with node-postgres?是否可以使用 BINARY 运行查询 COPY TO STDOUT 并使用 node-postgres 流式传输结果?
【发布时间】:2017-11-07 07:18:06
【问题描述】:

我担心数据类型强制,或者我会得到一个不错的 Buffer 或 UInt8Array?我可以分块(流式传输)吗?

【问题讨论】:

    标签: node-postgres


    【解决方案1】:

    深入研究 npm 我发现:https://www.npmjs.com/package/pg-copy-streams——这就是我一直在寻找的答案。

    这里有更多信息(从自述文件中复制),因此您可以避免遍历链接:

    pg-copy-streams

    node-postgres 的复制自 / 复制到。从一个数据库流式传输到 另一个,等等。

    怎么样?什么?嗯?

    你知道所有强大的 PostgreSQL 都支持流二进制吗 数据直接进出表?这意味着您可以将您的 最喜欢的 CSV 或 TSV 或任何格式的文件,并将其直接输入 现有的 PostgreSQL 表。你也可以拿一张桌子来管它 直接到文件、另一个数据库、标准输出,甚至到 /dev/null if 你疯了!

    此模块为您提供的是直接可读或可写流 进入/退出数据库中的表。这种接口方式 你的桌子很快而且很脆。你负责 正确编码和排序所有列。如果有什么不妥 放置 PostgreSQL 会给你发回一个错误。流在其中工作 一笔交易,这样你就不会让事情处于 1/2 无聊的状态,但它是 仍然需要注意。

    如果您不熟悉该功能(我也不熟悉),您可以阅读 这对一些很好的帮助: http://www.postgresql.org/docs/9.3/static/sql-copy.html

    【讨论】:

    • 小提示:使用 COPY FROM 可能会使您的数据库充满未使用的数据,从而出现错误。出错后别忘了运行真空
    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2019-09-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多