sql >> Databáze >  >> RDS >> PostgreSQL

Co může způsobit nečinnost v transakci u příkazů BEGIN

Transakce nejsou vůbec blokovány. Databáze čeká, až aplikace odešle další výpis.

Zámek na ID transakce je pouze technika, jak se transakce vzájemně blokují, i když nebojují o zámek tabulky (například když čekají na zámek řádku):každá transakce má vlastní výhradní zámek. ID transakce, a pokud musí čekat na dokončení souběžné transakce, může jen požádat o uzamčení ID této transakce (a být zablokováno).

Pokud všechny transakce vypadají takto, pak zámek musí být někde ve vaší aplikaci; databáze není zapojena.

Při hledání procesů blokovaných v databázi hledejte řádky v pg_locks kde granted je nepravdivé.



  1. Jak vytvořit omezení Not Null ve sloupci v tabulce SQL Server - SQL Server / Výukový program T-SQL, část 51

  2. Jak objednávat podle názvu měsíce v SQLite

  3. Jak připojíte návrat vozíku k hodnotě v MySQL?

  4. Vraťte typ spouštěče DML na tabulku na serveru SQL