有没有什么好的工具可以将现有的 firebird 数据库迁移到 PostgreSQL for Linux 系统?
我看过:FBexport可用于将数据转储为插入语句,但它主要用于从一个 firebird db 导出/导入到另一个,而不是作为迁移工具。
还有:Firebird to PostgreSQL Win32 tool,但它只适用于 win32 系统。
有什么好的工具可以做到这一点吗?还是我应该自己动手?
有没有什么好的工具可以将现有的 firebird 数据库迁移到 PostgreSQL for Linux 系统?
我看过:FBexport可用于将数据转储为插入语句,但它主要用于从一个 firebird db 导出/导入到另一个,而不是作为迁移工具。
还有:Firebird to PostgreSQL Win32 tool,但它只适用于 win32 系统。
有什么好的工具可以做到这一点吗?还是我应该自己动手?
当我需要将一些复杂的数据从 MySQL 数据库移动到 PostgreSQL 数据库时,我编写了一个连接到 MySQL 数据库的 perl 脚本,选择数据,进行任何需要的转换(比如 tinyint(1) 到布尔值和自动增量到序列等)并将其插入到 PostgreSQL 数据库中。对于更简单的转换,我对插入语句的文件进行了 mysql_dump,就像您的 FBexport 一样,然后修复了需要使用 sed 脚本修复的内容。它不是自动化和完美的,但它足够快且足够好。
看看这个:
http ://www.sqlmanager.net/en/products/postgresql/datapump
我从来没有用过,所以我不能说它好不好。
从我在这里得到的回复中,我了解到在 Linux 上没有针对 Firebird -> PostgreSQL 的特定迁移工具。
我想我得自己写这个。
这里的主要问题是优化这种迁移的性能。
我确实在 postgreSQL 文档的第 14 章中找到了一个很好的资源,它解释了向 postgreSQL 插入大量数据的最佳方法,例如:
您可以使用 FullConverter,但我认为没有任何商业工具可以一键完成。您需要检查约束、索引和自动增量。
您也可以尝试编写自己的 bash/perl/python/whatever 脚本来完成这项工作。