Thread: BUG #1987: UTF8 encoding differences hamper upgrades

BUG #1987: UTF8 encoding differences hamper upgrades

From
"Paul Lindner"
Date:
The following bug has been logged online:

Bug reference:      1987
Logged by:          Paul Lindner
Email address:      lindner@inuus.com
PostgreSQL version: 8.1beta3
Operating system:   Fedora Core 4 x86_64
Description:        UTF8 encoding differences hamper upgrades
Details:

I've been doing some test imports of UNICODE databases into Postgres


8.1beta3.  The only problem I've seen is that some data from 8.0


databases will not import.





I've generated dumps using pg_dump from 8.0 and 8.1.  Attempting to


restore these results in





 Invalid UNICODE byte sequence detected near byte ...





Question:





Does the 8.1 Unicode sanity code accept the full set of characters


accepted by the 8.0 Unicode sanity code?





If not we'll see a lot of problems like the one above.








I believe this patch is the one causing the problem I see:






http://www.mail-archive.com/pgsql-patches@postgresql.org/msg08198/unicode.di
ff







Is there any solution other than scrubbing the entire dataset to


conform to the new (8.1) encoding rules?

Re: BUG #1987: UTF8 encoding differences hamper upgrades

From
"John Hansen"
Date:
Paul,

To fix your dump so it will import, run:

iconv -c -f UTF8 -t UTF8 -o fixed.sql dump.sql=20

Kind Regards,

John Hansen

> -----Original Message-----
> From: pgsql-bugs-owner@postgresql.org=20
> [mailto:pgsql-bugs-owner@postgresql.org] On Behalf Of Paul Lindner
> Sent: Sunday, October 23, 2005 1:34 AM
> To: pgsql-bugs@postgresql.org
> Subject: [BUGS] BUG #1987: UTF8 encoding differences hamper upgrades
>=20
>=20
> The following bug has been logged online:
>=20
> Bug reference:      1987
> Logged by:          Paul Lindner
> Email address:      lindner@inuus.com
> PostgreSQL version: 8.1beta3
> Operating system:   Fedora Core 4 x86_64
> Description:        UTF8 encoding differences hamper upgrades
> Details:=20
>=20
> I've been doing some test imports of UNICODE databases into=20
> Postgres=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> 8.1beta3.  The only problem I've seen is that some data from=20
> 8.0=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> databases will not import.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> I've generated dumps using pg_dump from 8.0 and 8.1.=20=20
> Attempting to=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> restore these results in=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>  Invalid UNICODE byte sequence detected near byte ...=20=20=20=20=20=20=
=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> Question:=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> Does the 8.1 Unicode sanity code accept the full set of=20
> characters=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> accepted by the 8.0 Unicode sanity code?=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> If not we'll see a lot of problems like the one above.=20=20=20=20=20=20=
=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> I believe this patch is the one causing the problem I see:=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20
> http://www.mail-archive.com/pgsql-patches@postgresql.org/msg08
198/unicode.di
> ff=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> Is there any solution other than scrubbing the entire dataset=20
> to=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
>=20=20=20=20=20=20=20=20=20=20=20=20
> conform to the new (8.1) encoding rules?
>=20
> ---------------------------(end of=20
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>=20
>=20