如何将postgres数据库转换为sqlite

我们正在一个网站上工作,当我们在本地开发(我们中的一个来自Windows)时,我们使用sqlite3,但在服务器(linux)上使用postgres。 我们希望能够将生产数据库导入到我们的开发过程中,所以我想知道是否有办法将postgres数据库转储转换为sqlite3可以理解的东西(只是给它提供了postgres的倾销SQL给了很多,很多错误)。 谢谢。

我认为在开发阶段对同一types的数据库是更好的工作,但是你有办法将postgreSQL数据库转换成SQLite数据库:

1)如果只想迁移表格数据,您可以在PostgreSQL上以CSV格式导出表格,然后将其导入到SQLite数据库中:

在PostgreSQL上:

COPY sometable to '/tmp/sometable.csv' delimiters',' CSV HEADER; 

在SQLite上:

 sqlite> .mode csv sqlite> .import /tmp/sometable.csv sometable 

2)快速迁移结构和数据:使用数据库迁移工具,如:

  • OpenDBCopy (OpenSource)
  • ESF数据库迁移工具包 (商业 – 共享)

有了这两个工具,您可以轻松地将您的数据库模式和数据从PostgreSQL迁移到SQLite。

注意:还有其他数据库迁移工具,但是这两个是我认为做这个工作的最佳工具。

为什么不在本地安装postgresql? 让本地系统尽可能接近生产要好得多,确保所有的查询都能正常工作,所有索引都是最好的。