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

Jak uruchamiać wiele transakcji jednocześnie w PostgreSQL

Otwórz więcej niż jeden psql sesji, jeden terminal na sesję.

Jeśli korzystasz z systemu Windows, możesz to zrobić, uruchamiając psql wielokrotnie w menu Start. Na innych platformach otwórz kilka nowych terminali lub zakładek terminali i uruchom psql w każdym.

Rutynowo robię to, gdy badam problemy z blokowaniem i współbieżnością, używane w odpowiedziach takich jak:

... prawdopodobnie więcej. Przydatną sztuczką, gdy chcesz ustawić warunki wyścigu, jest otwarcie trzeciego psql sesja i BEGIN; LOCK TABLE the_table_to_race_on; . Następnie wykonuj oświadczenia w innych sesjach; zablokują zamek. ROLLBACK transakcja trzymająca blokadę stołu i inne sesje będą ścigać się. Nie jest idealny, ponieważ nie symuluje współbieżności przesunięcia czasu rozpoczęcia, ale nadal jest bardzo pomocny.

Inne alternatywy są opisane w tej późniejszej odpowiedzi na podobny temat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz diagram ER w pgAdmin

  2. Dołączanie zagnieżdżonej tablicy Postgres jsonb

  3. Tabele Postgresql istnieją, ale pobieranie relacji nie istnieje podczas wykonywania zapytania

  4. utwórz tabelę w postgreSQL

  5. Jak określić hasło do „psql” nieinteraktywnie?