The SELECT FOR KEY SHARE command acquires RowShareLock table lock and a FORKEYSHARE row lock. Following are the locks SELECT FOR KEY SHARE acquires, the commands that are allowed to run concurrently with its lock RowShareLock and the commands that conflict with it. The list also includes the conflicting row locks if applicable
Commands concurrently allowed on the table with SELECT FOR KEY SHARE
e.g. If tx1 does a SELECT FOR KEY SHARE on the table then tx2 is allowed to do any of the following commands concurrently on the same table without being blocked. Some DMLs executed on the same rows may block, read more below.
Commands conflicting with SELECT FOR KEY SHARE on the table
e.g. If tx1 does a SELECT FOR KEY SHARE on the table then concurrently tx2 tries to do any of the following commands on the same table, tx2 will be blocked. Conversely, if tx1 executes any of the following commands and then tx2 concurrently tries to execute SELECT FOR KEY SHARE, tx2 will block.