Konstantin Izmailov <pgf...@gmail.com> writes: > could you help me understand if this is an intended behaviour, or I'm > incorrectly querying a "char" field?
We do not support '\0' as an element of a string value. You didn't show how you're trying to insert this value, but I suspect that Postgres saw it as an empty string which it then space-padded to length 1 because that's what char(1) does. Don't use a string field to store an integer. What with the need for a length header, you wouldn't be saving any space compared to "smallint" even if there weren't any semantic issues. regards, tom lane