I wrote:
> It's not pg_upgrade's fault; it's pg_dump that's failing to reproduce
> the state of the source database.
> I'm inclined to think that maybe we should hack pg_dump to forcibly
> quote "concurrently" in this context, even though it doesn't do so
> anywhere else since the word isn't reserved.
On closer inspection, pg_dump *does* quote "concurrently" ... if you're
dumping from a 9.0 or later database. The problem is that it gets the
index definition command from pg_get_indexdef(), which means it's
relying on the server to do appropriate quoting, and a pre-9.0 server
does not think there is any reason to quote "concurrently".
There doesn't appear to be any fix for this that doesn't require a time
machine and/or a lot more effort than it's worth. Suggest you rename
the index in the 8.4 database.
regards, tom lane