Если truncate выполняется дольше секунды - значит truncate не выполняется вовсе, а ждёт блокировку.
Посмотрите в pg_stat_activity where state != 'idle' на предмет долгих транзакций.
Или сразу запросом по pg_locks, например, вот таким:
https://github.com/dataegret/pg-utils/blob/master/...
Нормальный мониторинг - вопрос отдельный, сложный и печальный.