【问题标题】:How to export data from SQL Server to PostgreSQL?如何将数据从 SQL Server 导出到 PostgreSQL?
【发布时间】:2022-05-08 09:36:21
【问题描述】:

我需要将所有表从 SQL Server 导出到 PostgreSQL。

尝试:我从 SQL Server IDE 尝试过,但在某些阶段它给出的有关数据类型的错误是不同的。

问题:如何将数据从 SQL Server 导出到 PostgreSQL? COPY 是我的工作吗?如果是,那么如何导出包括记录在内的所有表?

【问题讨论】:

  • 将数据导出为 CSV/Text 格式并使用 COPY(或任何其他可以处理 CSV/Text 文件的工具)将其导入 Postgres
  • @a_horse_with_no_name,+1 谢谢

标签: postgresql


【解决方案1】:

您不能从 MSsql 导出数据然后导入到 PostgreSql,因为它的语法、数据类型不同,但是您可以使用工具将数据从 mssql 迁移到 postgreSql, 查看更多主题 migrate data from MS SQL to PostgreSQL?

【讨论】:

    【解决方案2】:

    使用https://dbeaver.io/

    1. 创建 MS SQL 和 PostgreSQL 数据库连接(登录)
    2. 在 PostgreSQL 中创建目标表(MS SQL 中的结构相同)
    3. F5 查看新表格
    4. 右键单击新表->“导入数据”->您将看到“数据传输”窗口
    5. 选择“表”类型,然后单击“下一步”-> 您将看到“选择输入对象”,您可以在其中从 MS SQL 连接中选择表
    6. 只需“下一步”并检查您需要的设置,完成:D

    【讨论】:

      【解决方案3】:

      首先将架构导出到一个文件中,然后针对 PostgreSQL 运行它,直到您删除了所有不兼容性。

      您可以尝试对要导出的数据执行相同的操作,但最好编写一个 Python 脚本来迁移它。

      【讨论】:

        【解决方案4】:

        使用 Management Studio 的内置 SSIS 工具有一种绝对简单的方法。你可以找到详细的答案here

        【讨论】:

          【解决方案5】:

          使用 https://dbeaver.io/ ,正如安乐提到的那样。

          经过 40 年的 DB 开发,迁移 DB 数据仍然是一个挑战。 DBeaver 是一款免费的数据迁移工具。但是您仍然需要迁移架构。

          从 DBeaver 导出数据

          从 SQLServer 数据库或架构的上下文菜单中选择工具 > 创建新任务 > 通用 > 数据导出

          您将生成 SQL 插入文件或 CSV 文件。对于数据库类型之间的迁移,请使用 CSV 文件。

          SQL Server 迁移工具的缺点

          1. 无法迁移包含布尔值的行。 导出最终导致带有 Bool 列的迁移数据错误,抱怨值不是布尔值,尽管源和目标列都是布尔类型。

          2. 在一个表迁移失败后无法继续处理下一个表。 SQL Server - 即使对于与初始错误无关的表,单个错误也会停止所有迁移。

          3. 一遍又一遍地配置工具,尝试导出数据是浪费时间。 SQL Server 迁移任务不保存源连接和目标连接的配置。而且该向导对用户不友好,花时间在上面令人沮丧。我假设迁移项目至少被放弃了 10 年。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-11-12
            • 2021-04-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-10-12
            • 1970-01-01
            相关资源
            最近更新 更多