Es hört sich so an, als ob das Problem darin besteht, dass Sie leere Zeichenfolgen in Ihrer Tabelle haben. Sie müssen diese behandeln, wahrscheinlich mit einer case-Anweisung, wie zum Beispiel:
execute %{ALTER TABLE "table1" ALTER COLUMN columnB TYPE integer USING CAST(CASE columnB WHEN '' THEN NULL ELSE columnB END AS INTEGER)}
Update:komplett neu geschrieben basierend auf aktualisierter Frage.