PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara menjalankan beberapa transaksi secara bersamaan di PostgreSQL

Buka lebih dari satu psql sesi, satu terminal per sesi.

Jika Anda menggunakan Windows, Anda dapat melakukannya dengan meluncurkan psql melalui menu Start beberapa kali. Pada platform lain, buka beberapa terminal baru atau tab terminal dan mulai psql di masing-masing.

Saya rutin melakukan ini ketika saya memeriksa masalah penguncian dan konkurensi, digunakan dalam jawaban seperti:

... mungkin lebih. Trik yang berguna saat Anda ingin mengatur kondisi balapan adalah dengan membuka psql ketiga sesi dan BEGIN; LOCK TABLE the_table_to_race_on; . Kemudian jalankan pernyataan di sesi Anda yang lain; mereka akan memblokir kunci. ROLLBACK transaksi memegang kunci meja dan sesi lainnya akan berlomba. Ini tidak sempurna, karena tidak mensimulasikan konkurensi offset-start-time, tetapi masih sangat membantu.

Alternatif lain diuraikan dalam jawaban ini nanti tentang topik serupa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengimpor data CSV ke dalam aplikasi Rails, menggunakan sesuatu selain id asosiasi

  2. 3 Cara Mendaftar Semua Prosedur Tersimpan yang Mereferensikan Tabel di PostgreSQL

  3. Bagaimana pgBouncer membantu mempercepat Django

  4. OPENXML di Postgres

  5. Mungkinkah menyingkat kunci/serial utama?