A client reports that a PostgreSQL database has become slow, and you need to identify the cause before recommending a fix. In practice, the slowdown could come from an inefficient query, missing index, stale statistics, locking, or resource pressure.
Explain how you would approach troubleshooting the issue end to end. Describe how you would determine whether the problem is caused by the query itself, the schema, or the database environment, and what evidence you would look for in PostgreSQL.
Keep your answer focused on a practical diagnostic workflow: what you check first, how you narrow down the bottleneck, and how you decide between query changes, indexing, statistics updates, or infrastructure escalation.