AW: [HACKERS] char(8) vs char8 - Mailing list pgsql-hackers

From Andreas Zeugswetter
Subject AW: [HACKERS] char(8) vs char8
Date
Msg-id 01BD7F59.9CE62FB0@zeugswettera.user.lan.at
Whole thread Raw
List pgsql-hackers
> This was an unexpected difference between these two types and I wonder
> if it was meant to be this way.  Previously, a char8 field with the
> string 'abc' would return 'abc' as expected.  Now, with char(8), I get
> back 'abc     ' instead.  You can see this with my PygreSQL module
> or the C interface (which my module uses, of course.)  This causes a
> lot of my programs to break.

This is the expected behavior for the char() datatype. If you have other variable
length fields in the table, you can simply use varchar() which does not blank pad
to the specified length. If you don't have other variable length fields then you
loose some performance if you switch to varchar().

> I have made a quick change to my Python module to handle this.  Should
> I clean it up or can I expect the behaviour to go back the way it was?

No, it will stay.

Andreas



pgsql-hackers by date:

Previous
From: Michal Mosiewicz
Date:
Subject: Re: [HACKERS] Sequential scan speed, mmap, disk i/o
Next
From: Byron Nikolaidis
Date:
Subject: Re: [HACKERS] char(8) vs char8