SQLite3到Postgres数据库迁移错误

时间:2013-07-06 02:35:27

标签: ruby-on-rails postgresql sqlite railstutorial.org

我做了以下事情:

  1. 根据Rails Tutorial中的说明创建了sample_app 第3章并使用了SQLite3数据库;按预期工作。
  2. 已安装Postgres.app。
  3. 在Postgres中创建了以下数据库:sample_app_development
  4. 创建了Postgres用户:myapp with password。
  5. 发出以下命令:

    sqlite3 development.sqlite3 .dump | psql -h localhost -p 5432 -U myapp -W sample_app_development

  6. 有了这些结果;用户myapp的密码:

    ERROR:  syntax error at or near "PRAGMA"
    
    LINE 1: PRAGMA foreign_keys=OFF;
        ^
    
    BEGIN
    
    COMMIT
    

    我做错了什么?

    干杯,

1 个答案:

答案 0 :(得分:0)

基本上 - 来自DBMS的转储不应该适用于另一个DBMS。有时,它可能有用,但这是一个例外。

通常,DBMS具有用于操作数据的标准SQL,但它们不共享用于创建和组织数据的相同语言。

PostgreSQL中没有PRAGMA指令。检查以下链接: http://www.postgresql.org/docs/7.1/static/plpgsql-porting.html#CO.PLPGSQL-PORTING-PRAGMA