Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Sqlite转储输出表顺序错误_Postgresql_Sqlite - Fatal编程技术网

Postgresql Sqlite转储输出表顺序错误

Postgresql Sqlite转储输出表顺序错误,postgresql,sqlite,Postgresql,Sqlite,我试图将Sqlite3数据库转换为Postgres,方法是将其转储为原始SQL,编辑SQL,然后通过psql加载它,总结如下 除了一个问题外,总体方法似乎不错。当我尝试使用psql运行最终加载时,会出现类似“表x不存在”的错误,因为Sqlite在引用它们的表之后输出外键引用的表。这将导致psql中止所有后续语句,并显示以下消息: ERROR: current transaction is aborted, commands ignored until end of transaction bl

我试图将Sqlite3数据库转换为Postgres,方法是将其转储为原始SQL,编辑SQL,然后通过psql加载它,总结如下

除了一个问题外,总体方法似乎不错。当我尝试使用
psql
运行最终加载时,会出现类似“表x不存在”的错误,因为Sqlite在引用它们的表之后输出外键引用的表。这将导致psql中止所有后续语句,并显示以下消息:

ERROR:  current transaction is aborted, commands ignored until end of transaction block
我看到的唯一立即解决方案是手动检查所有SQL,并尝试手动重新排序
createtable
命令,以便保持正确的顺序。然而,这是非常乏味的

有没有办法强制Sqlite输出SQL,以便按照依赖关系的顺序输出表