martes, 17 de septiembre de 2013

Importar/Exportar datos de tablas de PostgreSQL usando .CSV desde Windows - COPY


El comando COPY nos sirve para generar archivos .CSV, allí hacemos la copia de los datos y luego la leemos. En la documentación de postgres nos recalca que, bajo Windows, debemos utilizar para el path los caracteres E'path', sino lo toma como un path relativo. Otro dato a tener en cuenta es crear una carpeta con los permisos de lectura/escritura. En este caso, yo cree una car

peta tmp en la raíz de C.

En este ejemplo lo usamos para copiar toda la tabla, sin embargo, también podemos filtrar los datos a copiar mediante una consulta SQL. Ver>


Abrimos la consola, ejecutamos psql desde la base de datos origen y escribimos

copy nombre_tabla to E'path' USING delimiters ';';

Luego, en otra consola, ejecutamos psql y nos conectamos a la base de datos destino y tipeamos

copy nombre_tabla from E'path' USING delimiters ';';

Ejemplo: copy usuario from E'C:\\tmp\\usuhoy.csv' USING delimiters ';';

*Nótese del uso de \\ como separador

*delimiters representa al caracter que usamos para separar las columnas. Si entramos a editar el archivo CSV, veremos que en este caso están separados por ; (puntos y comas)
Ej CSV:
               1;Ford;Azul;15000
               2:Chevrolet;Rojo;25000

Espero haber clarificado un poco lo que está en la red

No hay comentarios:

Publicar un comentario