Вы можете сортировать вручную, разбивая текст на части в случае, если есть конечные цифры, например:
SELECT * FROM sort_test
ORDER BY SUBSTRING(text FROM '^(.*?)( \\d+)?$'),
COALESCE(SUBSTRING(text FROM ' (\\d+)$')::INTEGER, 0);
Это будет сортировать по тексту столбца, сначала по всем символам, необязательно, за исключением конечного пробелаза ними следуют цифры, затем эти необязательные цифры.
Хорошо сработало в моем тесте.
Обновление исправило сортировку только по строкам с помощью простого объединения (duh).