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

Как да стартирате множество транзакции едновременно в PostgreSQL

Отворете повече от един psql сесия, един терминал на сесия.

Ако сте на Windows, можете да направите това, като стартирате psql през менюто "Старт" няколко пъти. На други платформи отворете няколко нови терминала или раздела на терминала и стартирайте psql във всяка.

Правя това редовно, когато разглеждам проблеми със заключването и паралелността, използвани в отговори като:

... вероятно повече. Полезен трик, когато искате да настроите условие за състезание, е да отворите трети psql сесия и BEGIN; LOCK TABLE the_table_to_race_on; . След това изпълнете изрази в другите си сесии; те ще блокират на ключалката. ROLLBACK транзакцията, която държи заключването на масата, и другите сесии ще се състезават. Не е перфектно, тъй като не симулира едновременност на отместване-начално време, но все пак е много полезно.

Други алтернативи са посочени в този по-късен отговор по подобна тема.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хуманизирано или естествено сортиране на числа от смесени низове от думи и числа

  2. sqlalchemy симетрично много към едно приятелство

  3. Филтриране на Django JSONField

  4. Python postgreSQL sqlalchemy прави заявка за колона DATERANGE

  5. Npgsql с Pgbouncer на Kubernetes - обединяване и поддържане на активност