session A ردیف ۱ را دارد و ردیف ۲ را می‌خواهد، session B ردیف ۲ را دارد و ردیف ۱ را می‌خواهد. PostgreSQL بعد از deadlock_timeout این چرخه را می‌بیند و یک تراکنش را با SQLSTATE 40P01 لغو می‌کند. راه‌حل معمول گرفتن قفلها در همه‌جا با یک ترتیب ثابت است.