Also called: fast-path lock, fpRelId slots, weak relation lock fast path
In plain English
Fast-path locking lets a backend tuple/" title="Tuple">record a weak relation lock (AccessShareLock, RowShareLock, or RowExclusiveLock — the kinds ordinary queries take, which never conflict with each other) in its own PGPROC rather than in the shared lock table. Each backend has 16 such slots, so the common case skips the partitioned lock table and its LWLocks entirely.
Why it matters
It removes lock-manager contention for normal queries. But there are only 16 slots: a statement locking more than 16 relations (a wide partitioned table) overflows into the slow shared table, and the arrival of a strong DDL lock forces fast-path locks to be transferred there too. Both show up as fastpath = false in pg_locks.