Что ж, вам просто нужно СОЗДАТЬ РОЛЬ , а затем ГРАНАТЬ доступ только для чтения явно к вещам, которые вы хотите разрешить. Все, что вы не предоставляете, они не могут сделать (если они не являются суперпользователем).
Если вы предоставили доступ только для чтения и они не являются суперпользователем, они не смогут получить доступ к базовой системе. Это не означает, что вы не должны устанавливать postgres как непривилегированный пользователь, вы должны - просто не нужно выполнять то, что вы перечислили.
Хорошо, вы отредактировали свое сообщение, добавив в него сумасшедшие запросы. Я не верю, что у postgres в настоящее время есть способ ограничить ресурсы запросов для каждого пользователя.