Como fazer a ordenação em dados alfanuméricos irregulares no postgres sql

Eu tenho os dados de amostra a seguir para um símbolo de coluna específico para a tabela de amostra.

(Atualização :) Os dados não estão em um padrão regular. O número pode ocorrer em qualquer lugar entre os caracteres.

symbol

COL4A1
COL4A3
COL8A2
COL2A1
COL12A1
COL12A1
COL16A1
COL19A1

Eu preciso classificar esses dados no nível do banco de dados. Eu usei a seguinte consulta:

select symbol from sample order by symbol asc

O resultado é o seguinte:

COL12A1
COL12A1
COL16A1
COL19A1
COL2A1
COL4A1
COL4A3
COL8A2

Mas eu preciso pegar o pedido da seguinte maneira:

COL2A1
COL4A1
COL4A3
COL8A2
COL12A1
COL12A1
COL16A1
COL19A1

questionAnswers(2)

yourAnswerToTheQuestion