Sembra che il problema sia che hai stringhe vuote nella tua tabella. Dovrai gestirli, probabilmente con un'istruzione case, come:
execute %{ALTER TABLE "table1" ALTER COLUMN columnB TYPE integer USING CAST(CASE columnB WHEN '' THEN NULL ELSE columnB END AS INTEGER)}
Aggiornamento:completamente riscritto in base alla domanda aggiornata.