【问题标题】:HSQLDb to PostgresDb Migration with binary data使用二进制数据迁移 HSQLDb 到 PostgresDb
【发布时间】:2018-03-11 03:52:36
【问题描述】:

我在 Hsql DB 中有一个表,现在我正在迁移到 Postgres。 为此,我从 Hsql 导出 CSV(使用 SQLSquirrel)并使用 COPY..FROM postgres 命令导入 Postgres。
我在 hsql 表中有一个类型为 VARBINARY 的属性(我们称之为“attr1”),它在 Postgres 表中变为类型 bytea

假设 hsqldb 中有一行的 attr1 值为 \x00。导出的 CSV 包含值 00。但在将其导入 Postgres 后,它会转换为 \x3030(以十六进制格式查看时)。 要将 CSV 导入 Postgres,我使用以下命令:
\COPY <tablename> FROM 'Data.csv' DELIMITER ',' CSV HEADER;

我错过了什么?我该如何解决这个问题?

【问题讨论】:

    标签: postgresql csv hsqldb


    【解决方案1】:

    使用相同的程序从 HSQLDB 导出并导入 PostgreSQL。

    HSQLDB SqlTool 可用于此目的。

    【讨论】:

    • 谢谢弗雷特。我尝试使用 SQLSquirrel 导入创建的 CSV,但在第 1 行本身出现ERROR: column 'x' is of type smallint but expression is of type character varying 错误。
    • 我也尝试使用 SqlTool,但正如我提到的数据包含二进制数据,因此使用该工具会得到 Table has a binary column. DSV files are text, not binary, files.。二进制列是我面临的问题。还有什么我需要检查的吗?感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 2016-12-25
    • 2020-02-17
    • 2023-03-18
    • 2010-12-23
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多