Logo

martes, 15 de marzo de 2011

Copiar PostgreSQL

Una opción siempre necesaria para manipular una base de datos es cargar datos en esta desde archivos de texto externos. Aca muestro como lo hago para el PostgreSQL.

Para cargar datos a partir de un archivo de texto en una base de datos es importante en primer lugar cpnocer cual es la estructura que debe tener el archivo de datos que vamos a cargar. El comando a usar es COPY. Este comando optimiza el llenado de la base de datos aunque sacrifica la interactividad del INSERT.

El formato del comando a usar es la siguiente.

COPY nombretabla FROM '/un/directorio/archivo' WITH DELIMITER 'delimitador';

Las caracteristicas del archivo de texto son:
  • El delimitador es el simbolo que en el archivo separa los datos.
  • La ruta del direcctorio debe ser absoluta.
  • El archivo debe ser un de textp plano.
  • No debe tener encabezado como los que quedan cuando exportamos desde Excel o calc.
  • Los datos deben estar ordenados de la misma forma en la que la base de datos debe insertarlos.

La estructura general del comando es la siguiente.
COPY tablename [ ( column [, ...] ) ]
    FROM { 'filename' | STDIN }
    [ [ WITH ] 
          [ BINARY ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'delimiter' ]
          [ NULL [ AS ] 'null string' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'quote' ] 
                [ ESCAPE [ AS ] 'escape' ]
                [ FORCE NOT NULL column [, ...] ]
COPY { tablename [ ( column [, ...] ) ] | ( query ) }
    TO { 'filename' | STDOUT }
    [ [ WITH ] 
          [ BINARY ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'delimiter' ]
          [ NULL [ AS ] 'null string' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'quote' ] 
                [ ESCAPE [ AS ] 'escape' ]
                [ FORCE QUOTE column [, ...] ]
Referencias:

No hay comentarios:

Publicar un comentario