Код 42501 (insufficient_privilege) – у текущей роли нет нужной привилегии на объект. Права выдаёт владелец объекта или суперпользователь командой GRANT.
Частые причины
- Нет привилегии на таблицу или представление (SELECT, INSERT, UPDATE, DELETE).
- Нет USAGE на схему, в которой лежит объект.
- Нет USAGE на последовательность при вставке в колонку identity/serial.
- Роль не является владельцем объекта при ALTER или DROP.
Как исправить
1. Проверьте текущие права роли: \du, затем \dp имя_таблицы.
2. Выдайте недостающие привилегии (от владельца или суперпользователя):
GRANT SELECT, INSERT ON public.orders TO app_user; GRANT USAGE ON SCHEMA public TO app_user;
3. Для будущих объектов задайте права по умолчанию:
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO app_user;