sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan kører du flere transaktioner samtidigt i PostgreSQL

Åbn mere end én psql session, én terminal pr. session.

Hvis du er på Windows, kan du gøre det ved at starte psql via startmenuen flere gange. På andre platforme åbn et par nye terminaler eller terminalfaner og start psql i hver.

Jeg gør rutinemæssigt dette, når jeg undersøger problemer med låsning og samtidighed, brugt i svar som:

... sandsynligvis mere. Et nyttigt trick, når du vil opsætte en løbstilstand, er at åbne en tredje psql session og BEGIN; LOCK TABLE the_table_to_race_on; . Kør derefter statements i dine andre sessioner; de vil blokere på låsen. ROLLBACK transaktionen, der holder bordlåsen, og de andre sessioner vil køre. Det er ikke perfekt, da det ikke simulerer forskudt-start-tids samtidighed, men det er stadig meget nyttigt.

Andre alternativer er beskrevet i dette senere svar om et lignende emne.



  1. LISTAGG tilsvarende med vinduesklausul

  2. Vis specifikt billede afhængigt af specifik tekst i MySQL-tabel ved hjælp af PHP

  3. SQL-sætning til at oprette en tabel som et resultat af en tælleoperation?

  4. Forespørger på MySQL db