Lists: | pgsql-es-ayuda |
---|
From: | Alejandro Gasca <agasca(at)yahoo(dot)com> |
---|---|
To: | ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | problema con pg_dump en campos text con saltos de linea |
Date: | 2007-03-27 01:28:56 |
Message-ID: | 41235.76800.qm@web34314.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Saludos lista.
Estoy usando postgres 8.2.3.
Tengo una tabla con un campo caracter y algunos valores tienen saltos de linea, cuando hago el pg_dump:
$ pg_dump una_prueba -t sencillita > ejemplo
el archivo ejemplo contiene algo asi:
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
[...]
CREATE TABLE sencillita (
letra text NOT NULL,
numero integer NOT NULL
);
[...]
COPY sencillita (letra, numero) FROM stdin;
campo\ncon\nenters 1
\.
[...]
pero al querer volver a subir el dump
$ psql una_prueba -f ejemplo
me marca el siguiente error:
ERROR: missing data for column "numero"
parece ser que el problema son los '\n' que genera el propio pg_dump...
Alguna sugerencia para resolver esto?
Gracias de antemano
Alejandro
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Alejandro Gasca <agasca(at)yahoo(dot)com> |
Cc: | ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: problema con pg_dump en campos text con saltos de linea |
Date: | 2007-03-31 17:06:18 |
Message-ID: | 20070331170618.GC5761@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Alejandro Gasca escribió:
> COPY sencillita (letra, numero) FROM stdin;
> campo\ncon\nenters 1
> \.
>
> [...]
>
> pero al querer volver a subir el dump
> $ psql una_prueba -f ejemplo
> me marca el siguiente error:
> ERROR: missing data for column "numero"
>
> parece ser que el problema son los '\n' que genera el propio pg_dump...
Hmm, quizas algo o alguien esta convirtiendo en \n en un salto de linea
de verdad. Que sistema operativo estas usando? Aca probe tu ejemplo y
funciona sin ningun problema:
12:58 perhan ~ 0$ runpg 82_rel client
Bienvenido a psql 8.2.3, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
alvherre=# create table sencillita (letra text, numero int);
CREATE TABLE
alvherre=# insert into sencillita values ('hoho
alvherre'# foobar', 1);
INSERT 0 1
alvherre=# select * from sencillita ;
letra | numero
--------+--------
hoho | 1
foobar
(1 fila)
alvherre=# \q
01:03 perhan ~ 0$ `runpg 82_rel `
# Args: build, install, init, server, client
# port: 55514
01:03 perhan ~ 0$ pg_dump alvherre -t sencillita
--
-- PostgreSQL database dump
--
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: sencillita; Type: TABLE; Schema: public; Owner: alvherre; Tablespace:
--
CREATE TABLE sencillita (
letra text,
numero integer
);
ALTER TABLE public.sencillita OWNER TO alvherre;
--
-- Data for Name: sencillita; Type: TABLE DATA; Schema: public; Owner: alvherre
--
COPY sencillita (letra, numero) FROM stdin;
hoho\nfoobar 1
\.
--
-- PostgreSQL database dump complete
--
01:03 perhan ~ 0$ pg_dump alvherre -t sencillita > snc.dump
01:03 perhan ~ 0$ psql
Bienvenido a psql 8.2.3, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
alvherre=# drop table sencillita ;
DROP TABLE
alvherre=# \q
01:03 perhan ~ 2$ psql -f snc.dump
SET
SET
SET
SET
SET
SET
SET
SET
CREATE TABLE
ALTER TABLE
01:03 perhan ~ 0$ psql
Bienvenido a psql 8.2.3, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
alvherre=# select * from sencillita
alvherre-# ;
letra | numero
--------+--------
hoho | 1
foobar
(1 fila)
alvherre=#
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.