sql - 如何将SQLite3脚本转换成PostgreSQL可以理解的脚本?

标签 sql postgresql sqlite

我有一个 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 开始,到“无符号”字段到日期时间字段为 1 而不是 true 和 0 而不是 false .

有没有合适的方法来转换这个脚本?

我想将每个表导出为 CSV,然后将它们导入 PGDB,但我有太多表,这不是一个选项。

最佳答案

ruby 解决方案:

gem install sequel

sequel -C sqlite://db/development.sqlite3 postgres://user:password@localhost/dbname

关于sql - 如何将SQLite3脚本转换成PostgreSQL可以理解的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204142/

相关文章:

mysql - 别名是否需要在 mysql union 中具有唯一名称

java - 如何使用 PreparedStatement 从 Java 应用程序将 POINT 类型值插入到 Postgresql 数据库中

postgresql - PostgreSQL中一行中窗口函数的第一个和最后一个值

javascript - 从使用 .then() 的 Promise 转换为 async/await

ruby-on-rails-3 - Rails 3 validates_uniqueness_of与:scope生成无效的SQL?

java - 在tomcat中显示Spring-security的SQL错误

mysql - 使用子查询从两个表中选择

sql - 检测存储过程中的脏读

postgresql - 在 PostgreSQL 中如何操作多个子查询的执行顺序?

c++ - 排序后如何从sqlite中获取数据?