Você pode tentar usar USING:
A USINGcláusula opcional especifica como calcular o novo valor da coluna do antigo; se omitido, a conversão padrão é igual a uma conversão de atribuição do tipo de dados antigo para o novo. Uma USINGcláusula deve ser fornecida se não houver uma conversão implícita ou de atribuição do tipo antigo para o novo.
Portanto, isso pode funcionar (dependendo dos seus dados):
alter table presales alter column code type numeric(10,0) using code::numeric;
-- Or if you prefer standard casting...
alter table presales alter column code type numeric(10,0) using cast(code as numeric);
Isso falhará se você tiver algo codeque não possa ser convertido em numérico; se USING falhar, você deverá limpar manualmente os dados não numéricos antes de alterar o tipo de coluna.