SELECT n.nspname, c.relname
FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r' AND n.nspname NOT IN('pg_catalog', 'information_schema');
Связано это с тем, что если юзер накосячит в основной базе можно было накатить бэкап на состояние "было 30 мин назад", так как изменения в БД происходят достаточно часто, а накатывать суточный бэкап будет очень болезненно, так как потеряется куча данных.
SELECT
"deviceId"
FROM
devices_categories
GROUP BY
"deviceId"
HAVING
array_agg("catId") @> (
SELECT
array_agg("categoryId")
FROM
object_categories
WHERE "objectId" = $1);