PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Какво може да причини неактивност в транзакцията за оператори BEGIN

Транзакциите изобщо не блокират. Базата данни чака приложението да изпрати следващия оператор.

Заключването на идентификатора на транзакция е просто техника за транзакциите да се блокират една друга, дори ако не се борят за заключване на таблица (например, ако чакат заключване на ред):всяка транзакция притежава ексклузивно заключване сама по себе си ID на транзакция и ако трябва да изчака завършването на едновременна транзакция, може просто да поиска заключване на ID на тази транзакция (и да бъде блокиран).

Ако всички транзакции изглеждат така, тогава ключалката трябва да е някъде във вашето приложение; базата данни не е включена.

Когато търсите процеси, блокирани в базата данни, потърсете редове в pg_locks където granted е невярно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. липсва запис в клауза FROM за таблица

  2. Създаване на потребител с криптирана парола в PostgreSQL

  3. Максимален брой записи в histogram_bounds

  4. PostgreSQL:Групиране и филтриране на таблица с условие за несъществуване

  5. Как да използвате подготвени оператори с Postgres