我正在尝试使用Ora2pg工具将我的Oracle数据库迁移到PostgreSQL . 导出的DDL文件成功,但当我尝试将其导入PostgreSQL服务器时遇到如下错误 .
Oracle中有一个检查约束作为IS JSON条件,当我从Ora2PG导出它时生成为
ALTER TABLE Temp_table ADD CONSTRAINT ensure_json1 CHECK (rpdata IS JSON);
当我尝试在PostgreSQL服务器中执行相同的操作时,在“JSON或其附近”获取“语法错误” .
1 回答
你在Postgres中不需要这个 .
Postgres具有本机JSON数据类型,可自动验证JSON . 在Oracle中,您需要检查约束,将CLOB“转”为JSON列(没有它,值不会被验证,某些JSON操作不起作用)
只需从Postgres脚本中删除该约束(假设该列确实定义为
json
或理想情况下jsonb
)