繁体   English   中英

从 H2 迁移到 PostgreSQL

[英]Migrate from H2 to 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)。 这是由于不同数据库供应商之间存在差异的性质。 数据类型和模式因数据库供应商而异。

正确的做法是通过迁移到go。 您可以使用 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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM