Вы должны сделать тест.
Я сделал тесты с таблицей, в которой в качестве первичного ключа используется один столбец varchar, в PostgreSQL 8.4.В результате я смог сохранить 235000 символов ASCII, 116000 польских диалектических символов (fg 'ć') или 75000 китайских (fg '汉').Для больших наборов у меня есть сообщение:BŁĄD: размер строки индекса 5404 превышает максимум дерева, 2712Однако в сообщении сказано, что:Значения, превышающие 1/3 страницы буфера, не могут быть проиндексированы.Значения были разрешены, но не вся строка использовалась для проверки уникальности.
Что ж, это очень большой объем данных, который вы можете поместить в этот столбец.Однако, как отмечалось выше, ваш дизайн плох, если вам придется использовать такие длинные значения, как ключи.Вы должны использовать искусственный первичный ключ.