mirror of
https://github.com/discourse/discourse.git
synced 2025-06-26 16:31:57 +08:00

The previous version of the migration is not idempotent and can result in indexes created but marked as "invalid" by Postgres. Per postgres documentation: If a problem arises while scanning the table, such as a deadlock or a uniqueness violation in a unique index, the CREATE INDEX command will fail but leave behind an "invalid" index. This index will be ignored for querying purposes because it might be incomplete; however it will still consume update overhead. The recommended recovery method in such cases is to drop the index and try again to perform CREATE INDEX CONCURRENTLY.