My example/test script.
-- █ Droping and creating the table for test purposes. Don't do this with table with production data.
DROP TABLE IF EXISTS calendar;
CREATE TABLE calendar
(
id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 100 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 ),
price character varying(10) COLLATE pg_catalog."default" NOT NULL,
adjusted_price character varying(10) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT pk_calendar_id PRIMARY KEY (id)
);
-- █ For test purposes, creating example data if table exists.
DO $$ -- DO executes an anonymous code block
BEGIN
IF EXISTS(SELECT * FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'calendar') THEN
INSERT INTO calendar (price, adjusted_price) VALUES('8,000.00', '8,001.00');
INSERT INTO calendar (price, adjusted_price) VALUES('7,000.00', '7,355.00');
END IF;
END;
$$;
-- █ Alter table columns from varchar to int.
ALTER TABLE calendar
ALTER COLUMN price TYPE int USING SPLIT_PART(REPLACE(price, ',', ''), '.', 1)::int,
ALTER COLUMN adjusted_price TYPE int USING SPLIT_PART(REPLACE(adjusted_price, ',', ''), '.', 1)::int;
-- REPLACE(source, old_text, new_text ) comma is replaced by empty string '8,000.00' -> '8000.00'
-- SPLIT_PART(string, delimiter, position) '8000.00' is splitted in 2 parts ['8000', '00'] we need the part 1 ->'8000'
-- ::int using cast operator ::, convert from varchar to int.
-- █ Select all columns with new types.
select * from calendar;
Example data
id price adjusted_price
100 "8,000.00" "8,001.00"
101 "7,000.00" "7,355.00"

After alter the table
id price adjusted_price
100 8000 8001
101 7000 7355

References
PostgreSql SPLIT_PART
PostgreSql REPLACE
PostgreSql CAST
PostgreSql DO
Check if table exists