次のように簡略化できると思います。
SELECT
t.id AS topic_id,
CURRENT_DATE - t.created_at::date AS days_old
FROM topics t
ORDER BY t.created_at DESC
相対時間を示すために便利な reltime$time も使用できます(ただし、30日未満の間隔に最も役立ちます。それ以外の場合は日付が表示されます)。
SELECT
t.id AS topic_id,
t.created_at AS reltime$time
FROM topics t
ORDER BY t.created_at DESC