如何将 postgres 数据库转换为 sqlite

luq*_*qui 3 postgresql database sqlite

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

ale*_*oot 5

我认为在开发阶段在相同类型的数据库上工作更好,但是你有一些方法可以将 postgreSQL 数据库转换为 SQLite 数据库:

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

在 PostgreSQL 上:

COPY sometable to '/tmp/sometable.csv' delimiters',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

在 SQLite 上:

sqlite> .mode csv
sqlite> .import /tmp/sometable.csv sometable
Run Code Online (Sandbox Code Playgroud)

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

使用这两个工具,您可以轻松地将数据库架构和数据从 PostgreSQL 迁移到 SQLite。

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


dat*_*boy 2

为什么不在本地安装 postgresql 呢?最好让本地系统尽可能接近生产,以确保所有查询都能正常运行,所有索引都是最好的等等。