Я согласен с Фрэнком: вы не доберетесь далеко без полнотекстового поиска.«Обычный индекс» вообще не поможет, потому что любой «удобный для пользователя» поиск должен выполнять частичное сопоставление ( LIKE '% somevalue%' ), и при этом никогда не будет использоваться индекс
Для создания тестовых данных у меня есть хороший опыт работы с Benerator .Его немного сложно освоить, но он очень мощный.
В качестве альтернативы вы можете использовать Генератор данных , который на самом деле является инструментом Oracle, но может также создавать плоские файлы, которые можно использовать с Postgres