Quero copiar todo o conteúdo de uma coluna para outra (mesmo tipo de dados) e pensei em uma subseleção para fazer parte da equação.
UPDATE tab01
SET column2=(SELECT column1 FROM tab01);
ERROR: more than one row returned by a subquery used as an expression
esse erro faz todo o sentido, pois a saída da minha subseleção tem muitas linhas.
Existe uma maneira de copiar todos os valores para a outra coluna, sem criar nenhum tipo de loop em torno de algo como ...
UPDATE tab01
SET column2=(SELECT column1 FROM tab01 WHERE id=1)
WHERE ID=1;
Por que não apenas isso?
Eu acredito que o acima deve funcionar. Não há necessidade de subconsulta, o campo deve estar disponível na mesma linha que está sendo atualizada.
(De acordo com seus comentários, você não deseja filtrar quais linhas são atualizadas, então removi a
WHERE
cláusula.)