从H2迁移到PostgreSQL

ruoxqz4g  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(316)

我需要在WSO2 API管理器中将H2替换为PostgreSQL。由于当前有数据保存在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中?或者,是否有其他方法迁移数据?

hfyxw5xn

hfyxw5xn1#

这将更改数据库供应商,我们不支持此类用例。/[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/的详细信息

lo8azlld

lo8azlld2#

WSO 2没有跨数据库迁移的脚本或工具。但是,您可以使用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/

相关问题