2010/9/28 Guillermo Villanueva <guillermo...@gmail.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 <hmira...@gmail.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 <guillermo...@gmail.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 <reing...@gmail.com> >> > escribió: >> >> >> >> 2010/9/27 Guillermo Villanueva <guillermo...@gmail.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: >> >> > postg...@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. - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda