Обсуждение: bug in pg_dump
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name :Kilian Koepsell
Your email address :kilian.koepsell
System Configuration
---------------------
Architecture (example: Intel Pentium) : Intel Pentium II
Operating System (example: Linux 2.0.26 ELF) : both Linux 2.2.5
and DEC OSF/1
PostgreSQL version (example: PostgreSQL-6.5) : PostgreSQL-6.5
Compiler used (example: gcc 2.8.0) : both gcc 2.7.2.3
and DEC cc
Please enter a FULL description of your problem:
------------------------------------------------
If You have a database field containing
Jos\'e
the command pgdump -D gives the value
Jos''e
In Version PostgreSQL-6.3 You got something like
Jos\\\'\'e
Best regards,
Kilian Koepsell
Kilian Koepsell <koepsell@aei-potsdam.mpg.de> writes:
> If You have a database field containing
> Jos\'e
> the command pgdump -D gives the value
> Jos''e
I cannot reproduce this here --- I get Jos\\''e which is what the
pg_dump code is supposed to do...
Are you perchance using a multibyte encoding, and if so which one?
regards, tom lane
> Kilian Koepsell <koepsell@aei-potsdam.mpg.de> writes: > > If You have a database field containing > > Jos\'e > > the command pgdump -D gives the value > > Jos''e > > I cannot reproduce this here --- I get Jos\\''e which is what the > pg_dump code is supposed to do... > Oh, you are right. I checked it again and I also got Jos\\''e. But I expected to get Jos\\\' (a quoted \ -> \\ and a quoted ' -> \'). Is '' an other possibility to quote the ' character? regards, Kilian
Kilian Koepsell <koepsell@aei-potsdam.mpg.de> writes:
>> I cannot reproduce this here --- I get Jos\\''e which is what the
>> pg_dump code is supposed to do...
> Oh, you are right. I checked it again and I also got Jos\\''e.
> But I expected to get Jos\\\' (a quoted \ -> \\ and a quoted ' -> \').
> Is '' an other possibility to quote the ' character?
Yes, in fact it is the SQL-standard-approved way. \' is not standard.
pg_dump used to use \', but I changed it to use '' in hopes of improving
compatibility with other RDBMSes.
BTW, now that I look at the code I think that it may have a bug in the
MULTIBYTE case, since pg_dump will be dealing with client-side encodings
but it is not doing anything special to handle multibyte characters.
Can any multibyte guru comment on whether it is OK or not?
regards, tom lane