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

Транзакцията не може да обработва паралелни команди чрез Task.WhenAll

Тук няма нищо магическо, получавате грешката, защото връзката, която използвате, когато вмъквате CompanyAddress, не е тази, която мислите, че е.

Това е нова връзка. Когато вмъкването на ComapnyPaymentInfo се изпълнява, вие използвате връзката, която вече е свързана с вашата транзакция. Изчаква нови команди, защото сте чакали в предишната стъпка.

Използването на Task.WhenAll() от друга страна ще се опита да използва множество нишки. Ако връзката е заета, изпълнявайки команда, тя няма да бъде използвана и ще се създаде нова.

Не забравяйте, че когато използвате Transactions, имате само една достъпна връзка, не можете да се възползвате от паралелизма.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - деактивиране на ограниченията

  2. PostgreSQL налага стандартен SQL синтаксис

  3. Инсталирайте PostgreSQL на Ubuntu 20.04

  4. Как да проверите дали PostgreSQL масивът съдържа стойност

  5. PostgreSQL JOIN с тип масив с ред на елементите на масива, как да се приложи?