Noticias Programación

pgsqlite – Carga bases de datos SQLite en PostgresSQL

pgsqlite es un módulo Python puro y una aparejo de ringlera de comandos que facilita la importación de una colchoneta de datos SQLite en Postgres, ahorrándole mucho tiempo y esfuerzo en el proceso.


SQLite es increíble. En «Elogio de SQLite» describo por qué esto es así. Una de estas razones fue la extensibilidad:

en cierto modo, la extensibilidad es el maduro poder de SQLite; agrega utilidad y valencia inesperados a sus usuarios, y podemos presenciar muchos usos imaginativos proporcionados por la comunidad.

Por lo tanto, he proporcionado una índice de tales extensiones.

Pero asimismo existe el otro camino; no extendiendo SQLite en sí, sino extendiendo productos de terceros a través de SQLite. Uno de esos complementos es pgsqlite de Adam Fletcher de bit.io, que le permite importar bases de datos SQLite a Postgres sin ningún problema.

Sobre el papel, tal migración puede parecer una tarea simple, posteriormente de todo, se manejo de datos estructurados alrededor de fuera y alrededor de adentro. En verdad este no fue el caso. Adam Fletcher encontró muchos obstáculos en el camino:

Diferencias de escritura
Primero, SQLite y Postgres usan diferentes tipos. Cita del identificador
En algunos casos, existen discrepancias entre la forma en que PostgresSQL y Sqlite citan sus objetos. Observación SQL tolerante
SQLite es más relajado con errores de sintaxis en algunas sentencias SQL, mientras que Postgres no lo es.

Como tal, ha tenido que hacer algunas concesiones, como lanzarse qué hacer con NULL según el tipo, reconociendo que es posible que deba cambiar los datos reales en la colchoneta de datos a medida que la mueve de SQLite a Postgres.

Eventualmente, la aparejo estuvo índice, simplemente invocable como:

pgsqlite. Pi [-h] -f SQLITE_FILENAME -p POSTGRES_CONNECT_URL [-d DEBUG] [–drop_tables DROP_TABLES] [–drop_everything DROP_EVERYTHING] [–drop_tables_after_import DROP_TABLES_AFTER_IMPORT]

Ejemplo: importar a la colchoneta de datos bit.io adam / AMEND, con registro en el nivel DEBUG.

pitón pgsqlite. py-f. . /ejemplo_dbs/Chinook_Sqlite.sqlite -p postgresql: // adam:@ db.bit.io / adam / MODIFICAR –debug real

¡Eso es todo! Sus datos ahora son propiedad de PostgresSQL.

Publicidad:

Publicidad:

También puede gustarte...