How to change the datatype of a column from integer to money?
Just try the following command.

ALTER TABLE products ALTER COLUMN price TYPE money using price::text::money


Non-quoted numeric values can be converted to money by casting the numeric value to text and then money