Tom Lane writes:
CREATE INDEX shouldn't block any concurrent SELECT, regardless of which index AM is involved.
The problem was that the table needed a "vacuum full". It was a large table and had done a massive update. It is not that it was blocked, but that it was just taking a very long time.
Is there a way to tell what tables have locks on them?