从H2迁移到PostgreSQL



我需要在WSO2 API管理器中用PostgreSQL替换H2。由于目前有数据保存在H2上,我需要将其传递给PostgreSQL。

我找到命令

SCRIPT TO 'dump.sql'

将数据导出到.sql文件,但是我不能使用它,因为我没有获得访问数据库的凭据,所以我必须从H2生成的.mv.db文件中检索数据。在这些文件中,数据没有加密,但密码显然是加密的。为了将数据导出到.sql文件,我使用命令

java -cp h2-*.jar org.h2.tools.Recover -dir file_path -db file_name.

.sql文件生成正确,但当我尝试用命令

将它们导入PostgreSQL时
psql -U db_user db_name < dump_name.sql
大量的语法错误出现,可能是由于H2和PostgreSQL方言不兼容。是否有一种方法可以导出数据,以便将其导入PostgreSQL?或者,是否存在迁移数据的替代方法?

这正在改变数据库供应商,我们不支持这样的用例。/[PRODUCT_HOME]/dbscripts中有不同的脚本文件夹,您需要使用正确的脚本设置目标数据库(在本例中为PostgreSQL)。这是由于不同数据库供应商之间的本质差异造成的。数据类型和模式因数据库供应商而异。

正确的方法是完成迁移。您可以使用PostgreSQL建立一个新的环境,并使用第三方工具或数据库供应商提供的工具将数据从H2迁移到ProstgreSQL。没有直接的方法将数据库从H2改为PostgreSQL。

有关产品迁移的更多信息- https://apim.docs.wso2.com/en/latest/install-and-setup/upgrading-wso2-api-manager/upgrading-guidelines/

WSO2没有任何用于跨数据库迁移的脚本或工具。但是,您可以使用API控制器[1]将API,应用程序从以前的H2 DB环境迁移到使用PostgreSQL的新环境。

[1] - https://apim.docs.wso2.com/en/latest/install-and-setup/setup/api-controller/getting-started-with-wso2-api-controller/

相关内容

  • 没有找到相关文章

最新更新