Christian Enklaar wrote:
> Hello,
>
> we are using a table with a primary key of type varchar[50].
> If we try to find entries with select * from <table> where <table.key> =
> '<text>';
> entries with a key length of more than 32 characters are not found.
> Entries with a shorter key are found. Using "Like" instead of "=" works for
> varchar keys with length > 32 as well.
>
> Does anybody know about this Problem ?
> (We use PostgresQL 7.4.1)
>
I think you are hiding some informations.
It works here with a 7.4.5 and I'm not aware of any bug like this in previous
versions.
test=# \d test
Table "public.test"
Column | Type | Modifiers
--------+-----------------------+-----------
a | character varying(50) | not null
Indexes:
"test_pkey" primary key, btree (a)
test=# select a, length(a) from test;
a | length
----------------------------------------------------+--------
01234567890123456789012345678901234567890123 | 44
0123456789012345678901234567890123456789 | 40
01234567890123456789012345678901234567890123456789 | 50
(3 rows)
test=# select length(a) from test where a = '01234567890123456789012345678901234567890123';
length
--------
44
(1 row)
Just an idea, could you reindex your table ?
Regards
Gaetano Mendola