I\'ve tried the following, but I was unsuccessful:
ALTER TABLE person ALTER COLUMN dob POSITION 37;
This post is old and probably solved but I had the same issue. I resolved it by creating a view of the original table specifying the new column order.
From here I could either use the view or create a new table from the view.
CREATE VIEW original_tab_vw AS
SELECT a.col1, a.col3, a.col4, a.col2
FROM original_tab a
WHERE a.col1 IS NOT NULL --or whatever
SELECT * INTO new_table FROM original_tab_vw
Rename or drop the original table and set the name of the new table to the old table.