Jeremy Finzel <finzelj@xxxxxxxxx> writes: > I have a table foo with 100 million rows, and a column: > - id character varying(20) > The following command is the one that we expect to execute very quickly (we > are not seeing any locking), but it is instead taking a very long time: > - ALTER TABLE foo ALTER COLUMN id TYPE varchar(100); Hm, the code is supposed to avoid a table rewrite, but I wonder if there's something else that's not being avoided, such as an index rebuild or foreign-key verification. Could we see the whole table definition, eg from psql \d+ ? regards, tom lane