【发布时间】:2019-12-18 16:41:24
【问题描述】:
我在 SQL Server Enterprise 2014 中有一个存储过程函数和一个表。我在表中也有数据。现在我需要 PostgreSql(pgAdmin4) 中相同的表和数据。
任何人都可以向我建议将数据迁移到 POSTGRESQL 的想法或创建 SQL 脚本以便我可以使用 psql 运行脚本的任何想法吗?
【问题讨论】:
标签: sql sql-server postgresql migration
我在 SQL Server Enterprise 2014 中有一个存储过程函数和一个表。我在表中也有数据。现在我需要 PostgreSql(pgAdmin4) 中相同的表和数据。
任何人都可以向我建议将数据迁移到 POSTGRESQL 的想法或创建 SQL 脚本以便我可以使用 psql 运行脚本的任何想法吗?
【问题讨论】:
标签: sql sql-server postgresql migration
根据您拥有的数据量,您可以编写表格和数据的脚本。然后您可以根据 PostgreSQL 的需要调整脚本:
如果数据量较大,您可能会考虑使用某种类型的数据传输工具,例如 SSIS。
【讨论】:
将表结构和数据导出为Josh Jay 描述的可能需要一些语法不匹配的修复,但如果不乏味的话应该是可行的。幸运的是,现有的conversion tools 可以提供帮助。
您还可以尝试使用foreign data wrapper 将 SQL Server 中的表映射到正在运行的 PostgreSQL 实例。那么这只是复制表的问题。取决于您的需求以及每台数据库服务器相对于彼此的位置。
不幸的是,存储过程将更加难以处理。虽然 Oracle 的 pl/sql 语言与 PostgreSQL 的 pl/pgsql 大体相似,但另一方面,MS SQL Server/Sybase 的 TransactSQL 方言不同,需要重写。如果 TransactSQL 函数也访问 .Net 对象,那么迁移任务最终可能会变得更加困难,因为您需要重新实现依赖项或找到逻辑等效项。
【讨论】: