Обсуждение: strangeness in pg_dump
Hi I have 2 servers, a linux and a freebsd, and I don't understand why when I dump on one, the dumped strings looks like : "foo\r\nbar" and on the other one : "foo^M\ bar" does someone have an idea of what compile time option is responsible for that ? -- Mathieu Arnold
> I have 2 servers, a linux and a freebsd, and I don't understand why when I > dump on one, the dumped strings looks like : > > "foo\r\nbar" > > and on the other one : > > "foo^M\ > bar" > > does someone have an idea of what compile time option is responsible for > that ? Perhaps this is a viewer-issue? Copy the fbsd one over to linux and view it again. Greetings, Bjoern
Mathieu Arnold wrote:
> Hi
>
> I have 2 servers, a linux and a freebsd, and I don't understand why when I
> dump on one, the dumped strings looks like :
>
> "foo\r\nbar"
>
> and on the other one :
>
> "foo^M\
> bar"
>
> does someone have an idea of what compile time option is responsible for
> that ?
Looks identical to me.
^M == \r == 0x0D == Carriage Return
\ (at end of line) == \n == 0x0A == New Line
Maybe you should use fully compatible commands to examine the
data?
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
--On lundi 3 juin 2002 09:35 -0400 Jan Wieck <janwieck@yahoo.com> wrote: > Mathieu Arnold wrote: >> Hi >> >> I have 2 servers, a linux and a freebsd, and I don't understand why when >> I dump on one, the dumped strings looks like : >> >> "foo\r\nbar" >> >> and on the other one : >> >> "foo^M\ >> bar" >> >> does someone have an idea of what compile time option is responsible for >> that ? > > Looks identical to me. well, they do not I believe. > ^M == \r == 0x0D == Carriage Return > \ (at end of line) == \n == 0x0A == New Line that is right, but, in the first case, it is not '\r' + '\n' but '\\' + 'r' + '\\' + '\n' > Maybe you should use fully compatible commands to examine the > data? --On lundi 3 juin 2002 09:31 -0400 terry@greatgulfhomes.com wrote: > Are you sure the files are different format??? well, I use : pg_dump -c -h pgsqlhost -h file database on the 2 servers, the database being on another server... I don't understand. -- Mathieu Arnold
--On lundi 3 juin 2002 15:35 +0200 Bjoern Metzdorf <bm@turtle-entertainment.de> wrote: >> I have 2 servers, a linux and a freebsd, and I don't understand why when >> I dump on one, the dumped strings looks like : >> >> "foo\r\nbar" >> >> and on the other one : >> >> "foo^M\ >> bar" >> >> does someone have an idea of what compile time option is responsible for >> that ? > > Perhaps this is a viewer-issue? Copy the fbsd one over to linux and view > it again. no, no, it's really a psql issue, as copying the linux one on the freebsd box (viva binary compatibility) still does the same. -- Mathieu Arnold
Mathieu Arnold wrote:
>
>
> --On lundi 3 juin 2002 09:35 -0400 Jan Wieck <janwieck@yahoo.com> wrote:
>
> > ^M == \r == 0x0D == Carriage Return
> > \ (at end of line) == \n == 0x0A == New Line
>
> that is right, but, in the first case, it is not '\r' + '\n' but '\\' + 'r'
> + '\\' + '\n'
You're right. Shouldn't do anything before beeing done with
at least my first coffee.
Okay, need to look at the code in pg_dump the decides if to
quote or not.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
--On lundi 3 juin 2002 10:08 -0400 Jan Wieck <janwieck@yahoo.com> wrote: > Mathieu Arnold wrote: >> >> >> --On lundi 3 juin 2002 09:35 -0400 Jan Wieck <janwieck@yahoo.com> wrote: >> >> > ^M == \r == 0x0D == Carriage Return >> > \ (at end of line) == \n == 0x0A == New Line >> >> that is right, but, in the first case, it is not '\r' + '\n' but '\\' + >> 'r' + '\\' + '\n' > > You're right. Shouldn't do anything before beeing done with > at least my first coffee. > > Okay, need to look at the code in pg_dump the decides if to > quote or not. that was what I was doing, but my grep "['\"]\\\\[rn]['\"]" was not helping me very much. -- Mathieu Arnold
Mathieu Arnold wrote:
>
>
> --On lundi 3 juin 2002 10:08 -0400 Jan Wieck <janwieck@yahoo.com> wrote:
>
> > Okay, need to look at the code in pg_dump the decides if to
> > quote or not.
>
> that was what I was doing, but my grep "['\"]\\\\[rn]['\"]" was not helping
> me very much.
I don't anything that could cause this in v7.2.1's pg_dump.
Are the two servers running identical configurations (not
only PG version, but multibyte support and encoding too)?
For that matter, what version(s) are you running?
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
--On lundi 3 juin 2002 10:34 -0400 Jan Wieck <janwieck@yahoo.com> wrote: > Mathieu Arnold wrote: >> >> >> --On lundi 3 juin 2002 10:08 -0400 Jan Wieck <janwieck@yahoo.com> wrote: >> >> > Okay, need to look at the code in pg_dump the decides if to >> > quote or not. >> >> that was what I was doing, but my grep "['\"]\\\\[rn]['\"]" was not >> helping me very much. > > I don't anything that could cause this in v7.2.1's pg_dump. > Are the two servers running identical configurations (not > only PG version, but multibyte support and encoding too)? > > For that matter, what version(s) are you running? both have multibyte support, both encoding LATIN9 (france, euro) 7.2 on the linux, 7.2.1 on the freebsd -- Mathieu Arnold
Mathieu Arnold <mat@mat.cc> writes:
>> For that matter, what version(s) are you running?
> both have multibyte support, both encoding LATIN9 (france, euro)
> 7.2 on the linux, 7.2.1 on the freebsd
In that case I think the difference is explained by this 7.2.1 patch:
2002-02-12 16:25 tgl
* doc/src/sgml/ref/copy.sgml, src/backend/commands/copy.c: Modify
COPY TO to emit carriage returns and newlines as backslash escapes
(backslash-r, backslash-n) for protection against
newline-conversion munging. In future we will also tweak COPY
FROM, but this part of the change should be backwards-compatible.
Per pghackers discussion. Also, update COPY reference page to
describe the backslash conversions more completely and accurately.
regards, tom lane