# Troubleshooting row lock contention in Amazon Aurora PostgreSQL: Part 1 - Understanding row lock contention in PostgreSQL

DevFeed: [Troubleshooting row lock contention in Amazon Aurora PostgreSQL: Part 1 - Understanding row lock contention in PostgreSQL](<https://devfeed.tech/articles/troubleshooting-row-lock-contention-in-amazon-aurora-postgresql-part-1-understanding-row-lock-contention-in-postgresql-20843.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/database/troubleshooting-row-lock-contention-in-amazon-aurora-postgresql-part-1-understanding-row-lock-contention-in-postgresql/>)

Author: Sameer Kumar

Published: 2026-09-14T16:02:08Z

Content type: tutorial

Language: en

Sources: [AWS Database Blog](<https://devfeed.tech/sources/aws-database-blog.md>)

Topics: [Amazon Aurora](<https://devfeed.tech/topics/amazon-aurora.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Amazon CloudWatch](<https://devfeed.tech/topics/amazon-cloudwatch.md>), [Amazon RDS](<https://devfeed.tech/topics/amazon-rds.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [advanced-300](<https://devfeed.tech/tags/advanced-300.md>), [amazon-aurora](<https://devfeed.tech/tags/amazon-aurora.md>), [amazon-cloudwatch](<https://devfeed.tech/tags/amazon-cloudwatch.md>), [amazon-rds](<https://devfeed.tech/tags/amazon-rds.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [availability](<https://devfeed.tech/tags/availability.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [database](<https://devfeed.tech/tags/database.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [extension](<https://devfeed.tech/tags/extension.md>), [locks](<https://devfeed.tech/tags/locks.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [production](<https://devfeed.tech/tags/production.md>), [rds-for-postgresql](<https://devfeed.tech/tags/rds-for-postgresql.md>), [technical-how-to](<https://devfeed.tech/tags/technical-how-to.md>), [transactions](<https://devfeed.tech/tags/transactions.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>)

## AI overview

This first part of a two-part series explains row lock contention in PostgreSQL and Amazon Aurora PostgreSQL. It covers how concurrent transactions competing for the same rows can reduce throughput and cause timeouts despite healthy CPU and I/O, then introduces PostgreSQL locking internals and monitoring techniques using system views, functions, the pgrowlocks extension, and log_lock_waits. The article notes that the same behavior and investigation approach apply to Amazon RDS for PostgreSQL.

## Source excerpt

Row lock contention can collapse database throughput during a flash sale even when CPU and I/O look healthy. In Part 1 of this series, learn how PostgreSQL row locking works and how to monitor lock contention in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL using system views, the pgrowlocks extension, and the log_lock_waits parameter.