PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Skrypt testowy współbieżności transakcji dla postgresql

Możesz to zrobić w domu, wykonując LOCK na stole, konfigurując swoje transakcje, a następnie zwalniając blokadę, cofając transakcję, która została zablokowana. Zobacz tę poprzednią odpowiedź i jego linki, aby uzyskać szczegółowe informacje na temat tego podejścia. Podczas gdy zademonstrowałem to za pomocą trzech psql sesje równie opłacalne jest robienie tego za pomocą koprocesów bash, skryptu Pythona używającego psycopg2 i wieloprzetwarzanie lub wątkowość moduły itp. Dość proste do zrobienia. Aktualizuj :W rzeczywistości oto przykład, który właśnie napisałem w python3 .

Dla bardziej zaawansowanych testów, pobierz kod źródłowy PostgreSQL i użyj narzędzia "isolationtester" w src/test/isolation co pozwala pisać przepisy, które wykonują złożone porządkowanie poleceń. Nie obsługuje kompilacji z PGXS (chociaż takie wsparcie byłoby prawdopodobnie dość trywialne do dodania), więc musisz skompilować całe drzewo źródłowe PostgreSQL, ale to wystarczająco szybkie. Będzie działać z istniejącym PostgreSQL, więc nie ma potrzeby instalowania tego, który skompilowałeś.

Zobacz src/test/isolation/README aby dowiedzieć się więcej o narzędziu tester izolacji. Dokumentacja jest trochę cienka, ponieważ jest to wewnętrzne narzędzie testowe, ale istniejące przypadki testowe powinny pomóc Ci zacząć. Możesz go ulepszyć, aby spełnić Twoje potrzeby i przesłać poprawki :)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgre SQL LIKE dla liczb całkowitych

  2. Jak replikować instrukcje INSERT/UPDATE/DELETE za pomocą JPA i Hibernate?

  3. PostgreSQL \lo_import i jak uzyskać wynikowy OID w poleceniu UPDATE?

  4. Uruchom plik SQLExec zawierający znaki $$

  5. PostgreSQL Upsert (w przypadku konfliktu) z tymi samymi wartościami w Insert i Update