По логике скрипта - в /etc/login.defs должны быть те самые пределы, в которых находятся системные аккаунты. Если это не так - внесите соответствующие изменения или тупо захардкодьте.
Или другой путь - может ли Nginx добавить специфичный HTTP-хедер в запросы от таких ботов? Тогда я изменю выдачу на уровне веб-приложения.
Конечно. Отправляйте ботов в другой локейшен, который при проксировании вовнутрь будет добавлять заголовок или вовсе - перенаправлять запросы на другой урл или порт. Директива proxy_set_header.
Ваш же сервер - берите любой порт, который не собираетесь чем-то другим занимать. Единственный нюанс - в линуксе по умолчанию непривелегированные пользователи не могут биндиться на порты ниже 1024.
А лучше - сделайте какой-то дефолт и возможность поменять.
Попробуйте ELK, а когда у вас в ней не получится что-то конкретное - приходите и задавайте более чётко сформулированные вопросы. "Какая система лучше" - это не то, на что можно однозначно ответить.
А почему, собственно, вы эту задачу хотите с помощью постгреса решать, а не с помощью намного более подходящих решений на базе инвертированных индексов - Lucene, Elasticsearch и т. д.?