Re: COPY FROM

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: Horacio Miranda <hmiranda(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: COPY FROM
Date: 2010-09-28 00:54:47
Message-ID: AANLkTimqALZzYFyXARNau-8Qyf1Xp0d5dRNtzsa=O6Nj@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si tenés razón, paso a explicar
La base de datos SQL Server contiene datos de un padrón de beneficiarios de
un plan nacional.
Los datos son muy cambiantes y dinámicos.
El TXT se genera una vez al mes y tiene características especiales entre
ellas la de darme una "foto" de los datos de los beneficiarios en un momento
determinado de tiempo. Y el histórico tiene que estar basado en estas
"fotos".

Otra de las características es que si o si lo tengo que generar para
enviarlo a otra entidad. Entonces ya que lo tengo, lo aprovecho para la
importación.

Saludos
~~~~~~~~~~~~~~~~
Guillermo Villanueva

El 27 de septiembre de 2010 21:42, Horacio Miranda <hmiranda(at)gmail(dot)com>escribió:

> 2010/9/28 Guillermo Villanueva <guillermovil(at)gmail(dot)com>:
> > No Horacio, al archivo de texto separado por tabuladores (UTF8 sin BOM)
> lo
> > obtengo con una pequeña aplicación desde un SQL Server 2000.
> > Saludos
> >
>
> Solo una consulta, si este proceso es un proceso normal, no sería
> mejor tener un ODBC desde postgresql a ese SQL server y hacer el
> import con un dblink ? (desde ambas bases se tiene el mismo encoder
> verdad ? ).
>
> > ~~~~~~~~~~~~~~~~
> > Guillermo Villanueva
> >
> >
> > El 27 de septiembre de 2010 18:21, Horacio Miranda <hmiranda(at)gmail(dot)com>
> > escribió:
> >>
> >> Solo una pregunta, es mi idea o estas haciendo un backup y respaldo a
> >> mano ? (datos de forma selectiva?).
> >>
> >> 2010/9/28 Guillermo Villanueva <guillermovil(at)gmail(dot)com>:
> >> > Mariano, muchísimas gracias por tu respuesta.
> >> > Primero que nada te cuento que al ejecutar el COPY FROM desde pgadmin3
> >> > funcionó correctamente!! no lo había hecho así por que la verdad que
> no
> >> > tenía idea de donde iba a intentar tomar el archivo especificado.
> >> > Muy bunas las pruebas que hiciste con el simbolito º , la verdad que
> >> > estoy
> >> > medio perdido con esto de las codificaciones , yo pondría todo en
> UTF8,
> >> > pero
> >> > el sistema que intento implementar tiene como requisito que la base
> esté
> >> > en
> >> > LATIN1 (maldita restricción).
> >> > De nuevo gracias.
> >> > Ah te mando el \l de mi server linux
> >> > nacer=# \l
> >> > List of databases
> >> > Name | Owner | Encoding | Collation | Ctype |
> Access
> >> > privileges
> >> >
> >> >
> -----------+----------+----------+-------------+-------------+-----------------------
> >> > nacer | projekt | LATIN1 | C | C |
> >> > postgres | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 |
> >> > template0 | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 |
> >> > =c/postgres
> >> > :
> >> > postgres=CTc/postgres
> >> > template1 | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 |
> >> > =c/postgres
> >> > :
> >> > postgres=CTc/postgres
> >> >
> >> > Saludos
> >> >
> >> > ~~~~~~~~~~~~~~~~
> >> > Guillermo Villanueva
> >> >
> >> >
> >> > El 27 de septiembre de 2010 14:24, Mariano Reingart <
> reingart(at)gmail(dot)com>
> >> > escribió:
> >> >>
> >> >> 2010/9/27 Guillermo Villanueva <guillermovil(at)gmail(dot)com>:
> >> >> > Hola gente como están?
> >> >> > Nuevamente estoy renegando con COPY FROM
> >> >> > Resulta que tengo un archivo detexto separado por tab utf8 sin BOM
> >> >> > muy
> >> >> > grande que al utilizarlo para ingresar datos en mi db a través de
> >> >> > COPY
> >> >> > FROM
> >> >> > funciona correctamente y se ingresan todos los datos. (mas de
> 600mil
> >> >> > líneas)
> >> >> > Todo esto en un postgres 8.4 sobre windows 2000 server y sobre una
> >> >> > base
> >> >> > de
> >> >> > datos con ENCODING = 'LATIN1'
> >> >> > Si al mismísimo archivo, lo copio a un servidor postgres 8.4 sobre
> >> >> > ubuntu
> >> >> > server y sobre una base de datos tambien con ENCODING = 'LATIN1' me
> >> >> > provoca
> >> >> > el siguiente error:
> >> >> > postgres(at)servernacer:/var/ftp/nacer/postgresql$ psql nacer
> >> >> > psql (8.4.4)
> >> >> > Type "help" for help.
> >> >> > nacer=# copy nacer.historicotemp from
> >> >> > '/var/ftp/nacer/postgresql/B10201008.UEC.TXT' null as ''
> >> >> > nacer-# ;
> >> >> > ERROR: value too long for type character varying(2)
> >> >> > CONTEXT: COPY historicotemp, line 6503, column afidompiso: "3º"
> >> >> > nacer=#
> >> >> > La columna afidompiso está definida como varchar(2) y el dato que
> >> >> > muestra es
> >> >> > también de 2 . Si reviso el archivo en la línea 6503 tengo 2
> >> >> > caracteres
> >> >> > y un
> >> >> > tab. Aclaro, el copy from funcionó bien en el servidor windows.
> >> >>
> >> >> Hiciste un
> >> >> SET CLIENT_ENCODING = 'LATIN1';
> >> >>
> >> >> Revisaste el encoding de la terminal de linux?
> >> >> Probaste desde pgadmin3?
> >> >> En psql, con \l que codificación te aparece?
> >> >>
> >> >> Debe ser algún tema relacionado al juego de caracteres, a veces en
> >> >> linux conviene convertir a utf8:
> >> >>
> >> >> reingart=# \l
> >> >> Listado de base de datos
> >> >> Nombre | Dueño | Codificación
> >> >> -----------+----------+--------------
> >> >> reingart | reingart | LATIN1
> >> >>
> >> >> reingart=# SET CLIENT_ENCODING = 'LATIN1';
> >> >> SET
> >> >> reingart=# create table a (a char(1));
> >> >> CREATE TABLE
> >> >> reingart=# insert into a values ('º');
> >> >> ERROR: el valor es demasiado largo para el tipo character(1)
> >> >> reingart=# SET CLIENT_ENCODING = 'UTF8';
> >> >> SET
> >> >> reingart=# insert into a values ('º');
> >> >> INSERT 0 1
> >> >>
> >> >>
> >> >> El con linux podés convertir el dump de una codificación a otra con
> >> >> iconv:
> >> >>
> >> >> iconv -f LATIN1 -t UTF8 < entrada.sql > salida.sql
> >> >>
> >> >> Eso me ha ayudado en ciertas ocasiones,
> >> >>
> >> >> Sds
> >> >>
> >> >> Mariano Reingart
> >> >> http://www.arpug.com.ar
> >> >> http://www.sistemasagiles.com.ar
> >> >> http://reingart.blogspot.com
> >> >
>
>
>
>
> --
> Saludos,
> Horacio Miranda Aguilera.
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-09-28 01:52:04 Re: migrar de pgpool 2.3.3
Previous Message Horacio Miranda 2010-09-28 00:42:27 Re: COPY FROM