Obrigado mais uma vez Gigabyte e Kakao,
seguem as saídas:
---------------------------------------------------------------------------------------------------------------------------------------
Kakao:
==> Saída para o comando:
select id, nome[array_length(nome, 1)] || ', ' || array_to_string(nome[1: array_length(nome, 1) - 1], ' ') as nome from ( select id, regexp_split_to_array(trim(both from nome), '\s+') as nome from teste ) s;
>> Não sei porque isto está acontecendo mas onde tem a letra "s" está cortando. Além disso em alguns nomes não estão sendo formatados.
---------------------------------------------------------------------------------------------------------------------------------------
Gigabyte
==> Saída para o comando:
SELECT nome, regexp_replace(nome, '(.*) (.*)', '\2, \1') AS nome_formatado FROM teste;
>> Está retornando apenas vírgulas.
==> Saída para o comando (este comando foi sugerido por você e adaptado por Kakao):
select id,nome, regexp_replace(trim(both from nome), '(.*)\s+(.*)', '\2, \1') as nome_formatado from teste;
>> Está retornando alternadamente vírgulas e nome sem formatação alguma.
:: Infelizmente ainda não consigo obter a saída desejada :-(
Valeu camaradas.