"Kluzak, Matthew C." <mckluzak@nd.gov> writes:
> The Sybase databases use
> Character Set = 1, iso_1
> ISO 8859-1 (Latin-1) - Western European 8-bit character set.
> Sort Order = 50, bin_iso_1
> Binary ordering, for the ISO 8859/1 or Latin-1 character set (
> iso_1).
> The Postgres database uses UTF8
Hmmm ... it's plausible that something somewhere is figuring that
ISO-8859-1 conversion to UTF8 could expand the data at most 2X,
and that's where the 1000-to-2000 multiplier is coming from.
I wonder if it would help to set things up so that the client
side is sending ISO-8859-1 to Postgres (ie, client_encoding = latin1)
and the encoding conversion happens on the server side.
In principle it shouldn't matter where the conversion happens,
but you might be dealing with some bug or underdocumented limitation
in whatever is doing that conversion on the client side.
regards, tom lane