小编典典

如何将SQLite3脚本转换为PostgreSQL可以理解的脚本?

sql

我有一个SQLite3数据库。我做了一个数据转储,看起来像这样:

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE "admin_tools_menu_bookmark" (
    "id" integer NOT NULL PRIMARY KEY,
    "user_id" integer NOT NULL,
    "url" varchar(255) NOT NULL,
    "title" varchar(255) NOT NULL
);
INSERT INTO "admin_tools_menu_bookmark" VALUES(1,2,'/admin/recipes/recipe/','Recipe Management');
INSERT INTO "admin_tools_menu_bookmark" VALUES(2,2,'/admin/recipes/ingredient/','Ingredient Management');
CREATE TABLE "admin_tools_dashboard_preferences" (
    "id" integer NOT NULL PRIMARY KEY,
    "user_id" integer NOT NULL,
    "data" text NOT NULL
);
......

我试图在PostgreSQL PgAdmin
III中执行此操作,这给了我很多错误,从PRAGMA,到日期时间字段的’unsigned’字段设置为1而不是true和0而不是false。

是否有转换此脚本的正确方法?

我曾考虑过将每个表导出为CSV,然后将它们导入PGDB,但是我有太多的表,所以这不是一个选择。


阅读 159

收藏
2021-04-28

共1个答案

小编典典

我使用了一个名为Navicat的程序。我导出了每个表,然后将它们导入新的数据库,这既麻烦又缓慢。

当我将SQL放入PG Admin III中时,使用SQLiteman进行的SQL转储并不理想。

2021-04-28