sql-server - 将数据从 MS SQL 迁移到 PostgreSQL?

标签 sql-server postgresql migration

我环顾四周,似乎找不到任何可以回答这个特定问题的东西。

将数据从 MS SQL Server 2005 数据库移动到 Postgres 安装 (8.x) 的最简单方法是什么?

我研究了几个实用程序,如“Full Convert Enterprise”等,但它们都出于某种原因而失败,范围从导致其崩溃的奇怪错误到插入空值而不是实际数据(wth?)。

我正在查看一个包含所有表的数据库,除了单个 View ,没有存储过程、函数等。

此时我正准备编写一个小实用程序来为我做这件事,我简直不敢相信这是必要的。肯定有东西可以做到这一点?我什至不太担心成本,尽管免费更好:)

最佳答案

我不知道为什么没有人提到使用强大的 MS SQL Server Management Studio 的最简单和最简单的方法。

您只需使用内置的 SSIS 导入/导出功能即可。您可以按照以下步骤操作:

  1. 首先,您需要安装 PostgreSQL ODBC Driver适用于 Windows。根据 CPU arch (x86/x64) 安装正确的版本非常重要。

  2. 在 Management Studio 中,右键单击您的数据库:任务 -> 导出数据

  3. 选择SQL Server Native Client作为数据源。

  4. 选择 .Net Framework Data Provider for ODBC 作为目标驱动程序。

  5. 按以下形式将连接字符串设置为您的数据库:

    Driver={PostgreSQL ODBC Driver(UNICODE)};Server=;Port=;Database=;UID=;PWD=

  6. 在下一页中,您只需选择要导出的表格。 SQL Server 将生成默认映射,您可以自由编辑它。可能你会遇到一些类型不匹配的问题,需要一些时间来解决。例如,如果您在 SQL Server 中有一个 bool 值列,您应该将其导出为 int4。

Microsoft Docs 托管通过 ODBC 连接到 PostgreSQL 的详细说明。

PS:如果你想查看你安装的ODBC驱动,你需要通过ODBC Data Source Administrator查看。 .

关于sql-server - 将数据从 MS SQL 迁移到 PostgreSQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1370326/

相关文章:

asp.net - 将 Microsoft 应用程序从 Windows 2003 Server 迁移到 Windows 2012 Server

python - 正则表达式从 Perl 到 Python 的翻译

sql - 在 SP 中搜索

sql - 在 SQL Server 中使用按大小写顺序在 select 语句中使用的函数时出错

java - 我应该在 Hibernate 中批量插入/更新吗?

mysql - Spring + hibernate + postgresql 的设置

log4j - log4j2 中的 PropertyConfigurator

sql-server - PIVOT 有一个额外的 'else/default/fallback' 列?

postgresql - 如何使用不同的 PostgreSQL 实例进行生产测试

sql - 选择列中包含列表中所有值的所有行