Tendría que soltar y volver a crear la tabla o al menos el lastname
columna para eso:
BEGIN;
ALTER TABLE atable RENAME lastname TO oldcol;
ALTER TABLE atable ADD lastname text NOT NULL;
UPDATE atable SET lastname = oldcol;
ALTER TABLE atable DROP oldcol;
COMMIT;
Pero el ejercicio es bastante inútil, ya que siempre puedes determinar el orden en el que obtienes las columnas en el SELECT
cláusula. No estás usando SELECT *
, ¿eres? Eso también sería problemático por otras razones; solo es útil para consultas ad-hoc.