![如何将 postgres 数据库转换为 sqlite](https://linux22.com/image/550685/%E5%A6%82%E4%BD%95%E5%B0%86%20postgres%20%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BD%AC%E6%8D%A2%E4%B8%BA%20sqlite.png)
我们正在开发一个网站,当我们在本地开发时(其中一个人使用 Windows),我们使用 sqlite3,但在服务器(linux)上我们使用 postgres。我们希望能够将生产数据库导入到我们的开发过程中,所以我想知道是否有办法将 postgres 数据库转储转换为 sqlite3 可以理解的内容(只需将 postgres 转储的 SQL 提供给它就会出现很多错误)。谢谢。
答案1
我认为在开发阶段最好在同一类型的数据库上工作,但是您可以通过某种方式将 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)快速迁移结构和数据:使用数据库迁移工具,如:
- 打开数据库复制(开源)
- ESF 数据库迁移工具包(商业 - 共享软件)
使用这两个工具,您可以轻松地将数据库模式和数据从 PostgreSQL 迁移到 SQLite。
注意:还有其他数据库迁移工具,但这两个是我认为最适合完成这项工作的工具。
答案2
为什么不直接在本地安装 postgresql?最好让本地系统尽可能接近生产环境,以确保所有查询都运行良好,所有索引都是最佳的等等。