MonetDBe-Python 可以使用 COPY 命令吗?

are COPY commands possible with MonetDBe-Python?

我在批量加载记录时遇到了一些问题,以便比 cursor.executemany 允许的速度更快。我希望用常规 MonetDB here 记录的批量操作可能会起作用,所以我尝试了导出作为测试。例如cursor.execute("COPY SELECT * FROM foo INTO '/file/path.csv'")。除非文件已经存在,否则这不会引发错误,但生成的文件始终为 0 字节。我对文件 STDOUT 进行了同样的尝试,但它什么也没打印。

这些COPY命令是否适用于嵌入式版本?

注意:这是我第一次使用与 MonetDB 相关的任何东西。作为 SQLite 的粉丝和对 Amazon Redshift 印象不深的用户,这似乎是一个不错的项目。不确定 MonetDB/e 是否与 MonetDBLite 相同 - 前者最近似乎更活跃?

在 MonetDB/e 中应该可以通过 COPY INTO 命令导出数据,是的。

但是,此功能目前无法使用。我能够重现您的问题,即 COPY INTO 创建数据应该导出到的文件,但不写入数据。常规的 MonetDB 不会发生这种情况。

我们的团队已收到此问题的通知,我们正在调查。感谢提醒!

PS:关于您对MonetDB/e vs MonetDBLite 的质疑:我们的团队不再开发和维护MonetDBLite。两者都是以MonetDB为核心引擎的嵌入式数据库,但MonetDBLite已弃用。在了解了 MonetDBLite 的一些注意事项后,我们的团队正在开发下一代嵌入式数据库。

因此,对于您的嵌入式数据库需求,您应该关注我们 MonetDB/e 项目的最新进展。

我已经为它创建了一个测试:https://github.com/MonetDBSolutions/monetdbe-examples/blob/CI/C/copy_into.c

还在 GitHub 上提交了错误报告:https://github.com/MonetDB/MonetDB/issues/7058

我们目前正在调查这个问题。