Estamos trabajando en un sitio web, y cuando desarrollamos localmente (uno de nosotros desde Windows), usamos sqlite3, pero en el servidor (Linux) usamos postgres. Nos gustaría poder importar la base de datos de producción en nuestro proceso de desarrollo, así que me pregunto si hay una forma de convertir un volcado de base de datos de postgres a algo que sqlite3 pueda entender (simplemente alimentarlo el SQL volcado de postgres dio muchos, muchos errores). ¿O sería más fácil simplemente instalar Postgres en Windows? Gracias.Cómo convertir una base de datos postgres a sqlite
Respuesta
Hay algunas herramientas de conversión en torno a:
http://sqlite.com/cvstrac/wiki?p=ConverterTools
sería más fácil simplemente para instalar postgres en las ventanas?
Probablemente, y hacerlo es muy sencillo.
No estoy seguro de usar las palabras "muy sencillo" que tuve que pasar [mucho dolor] (http://stackoverflow.com/questions/7086654/installing-postgres-on-windows-for- use-with-ruby-on-rails/7133391 # 7133391) para hacerlo. Sin embargo, valió la pena, ya que le permite detectar los errores de consulta SQL que se producen con Postgres más estricto antes de que lleguen a su servidor de producción. – AJP
El enlace lleva a una página que está en desuso desde 2009. – TKAB
que era muy fácil para mí hacer uso de la gema grifos como se describe aquí: http://railscasts.com/episodes/342-migrating-to-postgresql
Y yo he empezado a utilizar el Postgres.app en mi Mac (sin necesidad de instalación, suelta la aplicación en sus aplicaciones directorio, aunque podría tener que agregar una línea a su variable de entorno PATH como se describe en la documentación), con Induction.app como una herramienta GUI para ver/consultar la base de datos.
Pero esta pregunta es acerca de ir al revés: de postgres a sqlite, no a postgres, como sugieren su comentario y referencia. – nealmcb
Tienes razón, no lo leí cuidadosamente (ya que nunca se me ocurriría en cien años que alguien quisiera ir en la otra dirección cuando veo 'convert' + 'postgres' + 'sqlite' en el mismo título) – jpwynn
He encontrado this blog entry que le guía a hacer estos pasos:
Crear un volcado de la base de datos PostgreSQL.
ssh -C [email protected] pg_dump --data-only --inserts YOUR_DB_NAME > dump.sql
Eliminar/modificar el volcado.
- Eliminar las líneas que comienzan con
SET
- Retire las líneas que comienzan con
SELECT pg_catalog.setval
- Reemplazar cierto para '
t
' - Reemplazar falsa para '
f
'
- Eliminar las líneas que comienzan con
Añadir
BEGIN;
como primera línea yEND;
como última líneaRecrear una base de datos de desarrollo vacía.
bundle exec rake db:migrate
Importe el volcado.
sqlite3 db/development.sqlite3 sqlite> delete from schema_migrations; sqlite> .read dump.sql
Por supuesto conexión a través de ssh y la creación de una nueva base de datos usando el rastrillo son opcionales
Para mí, 't' y' f' no funcionaron, tuve que usar '1' y' 0' como se describe en estas publicaciones: http://stackoverflow.com/questions/5768364/activerecordstatementinvalid-sqlite3sqlexception-no- such-column-true – neRok
blobs guardados en diferentes formatos. sqlite usa x'010101 ', mientras que postgres' \ x0101 ' –
Paso 1: hacer un vuelco de la estructura de su base de datos y los datos
pg_dump --create --inserts -f myPgDump.sql -d myDatabaseName -U myUserName -W myPassword
PASO 2: borrar todo excepto CREATE TABLES e INSERT declaraciones de myPgDump.SQL (usando editor de texto)
PASO 3: inicializar su estructura de base de datos SQLite y pasa los datos de sus Postgres vierten
sqlite3 myNewSQLiteDB.db -init -myPgDump.sql
PASO 4: utilizar su base de datos;)
- 1. ¿Cómo convertir una base de datos JET a SQLite?
- 2. Convertir la base de datos de Postgres en una base de datos espacial
- 3. ¿Cómo conecto CakePHP a una base de datos SQLite?
- 4. ¿Cómo agregar datos iniciales a la base de datos SQLite?
- 5. Android - ¿Existe una base de datos SQLite?
- 6. ¿Cuál es la mejor forma de convertir una base de datos mysql a sqlite?
- 7. MySQL: ¿Cómo convertir una base de datos a solo lectura?
- 8. Cómo convertir una base de datos MySQL a XML?
- 9. cómo convertir la tabla de base de datos sqlite existente a fts3 one?
- 10. Replicación punto a punto de una base de datos sqlite
- 11. Migrar base de datos de Postgres a MySQL
- 12. cómo reducir la base de datos sqlite?
- 13. Cómo convertir la base de datos SQL CE 3.5 a SQLite
- 14. Cómo conectarse a la base de datos sqlite con contraseña
- 15. Copiar base de datos en postgres
- 16. ¿Cómo crear una base de datos sqlite en javascript?
- 17. ¿Cómo implementar una base de datos SQLite en Phonegap?
- 18. ¿Cómo debo proteger una base de datos SQLite en iOS?
- 19. cómo conectar una base de datos sqlite usando PHP?
- 20. Copie una base de datos postgres sin permisos LOCK
- 21. Obtener la codificación de una base de datos de Postgres
- 22. ¿Cómo puedo crear una base de datos sqlite en memoria?
- 23. ¿Cómo podemos descargar la base de datos sqlite desde url y agregarla a nuestra aplicación como base de datos sqlite?
- 24. Postgres Creación esquema de una base de datos específica
- 25. Convertir base de datos SDF a MDF
- 26. importando archivo osm en una base de datos postgres/postgis
- 27. ¿Cómo encontrar la ruta URL a una base de datos local de postgres?
- 28. cómo obtener el valor de la base de datos a una matriz de cadenas en Android (base de datos SQLite)
- 29. Base de datos SQLite en Javascript localmente
- 30. SQLite: base de datos de solo lectura
Me Sólo tiene que activar su entorno de desarrollo de PostgreSQL, que se desarrolla sobre una base de datos (especialmente una tan flexible y permisiva como SQLite) pero que se implementa en otra (especialmente una tan estricta como PostgreSQL) generalmente es una receta para agravar y maldecir. –
Para hacer eco de la respuesta de mu, NO HAGA ESTO ... NO HAGA ESTO ... NO HAGA ESTO. Desarrolla y despliega en la misma cosa. Es mala práctica de ingeniería hacer lo contrario. – Kuberchaun
[La misma pregunta en ServerFault.] (Https://stackoverflow.com/questions/6148421/how-to-convert-a-postgres-database-to-sqlite) – Zaz