How to convert a postgres database to sqlite

We're working on a website, and when we develop locally (one of us from Windows), we use sqlite3, but on the server (linux) we use postgres. We'd like to be able to import the production database into our development process, so I'm wondering if there is a way to convert from a postgres database dump to something sqlite3 can understand (just feeding it the postgres's dumped SQL gave many, many errors). Thanks.


Solution 1:

I think that is better work on the same type of the database in the development stage, however you have some way for convert postgreSQL database to a SQLite Database:

1) If you want to migrate only table data you could export in CSV format table on PostgreSQL and then import it on SQLite database:

On PostgreSQL:

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

On SQLite:

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

2) Migrate Structure and data quick way : use a database migrator tool like :

  • OpenDBCopy (OpenSource)
  • ESF Database Migration Toolkit (Commercial - ShareWare)

With this two tool you can easily migrate your database schema and data from PostgreSQL to SQLite.

Note: there's also other database migrator tool, but these two are the two that I consider the best tool for doing this job.

Solution 2:

Why not just install postgresql locally? Its much better to have local system as close to production as possible, to be sure all your queries works well, all indexes are best etc.