Penso che potresti semplificarlo in qualcosa come:
SELECT
t.id AS topic_id,
CURRENT_DATE - t.created_at::date AS days_old
FROM topics t
ORDER BY t.created_at DESC
C’è anche un utile reltime$time che puoi usare per dare un tempo relativo (anche se è più utile per intervalli inferiori a 30 giorni o dà date invece)
SELECT
t.id AS topic_id,
t.created_at AS reltime$time
FROM topics t
ORDER BY t.created_at DESC