Shayon Mukherjee recommends against a particular technique:
As a developer, you might have encountered situations where creating an index in PostgreSQL fails due to lock timeouts. In such scenarios, it’s tempting to use the
IF NOT EXISTS
as a quick fix and move on. However, this approach can lead to subtle and hard-to-debug issues in production environments.
Click through to learn more about how concurrent index creation works in Postgres and why the use of IF NOT EXISTS
might not work the way you want.