PostgreSQL Locking Behavior w/ Partial Index

postgresql

For PostgreSQL, will create index foo on bar where condition=true, i.e. without concurrently, lock an entire table for a partial index?

Or will only the affected rows, i.e. where condition=true be locked?

I did not see it spelled out in https://www.postgresql.org/docs/9.6/sql-createindex.html.

Best Answer

The lock taken is on the table level. It doesn't lock a specific WHERE clause.