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

Skrip uji untuk konkurensi transaksi untuk postgresql

Anda dapat membuat ini sendiri dengan mengambil LOCK di atas meja, atur transaksi Anda, lalu lepaskan kunci dengan memutar kembali transaksi yang mendapat kunci. Lihat jawaban sebelumnya ini dan tautannya untuk detail tentang pendekatan ini. Sementara saya mendemonstrasikannya menggunakan tiga psql sesi itu sama-sama layak untuk melakukannya dengan proses bersama bash, skrip Python menggunakan psycopg2 dan multiprocessing atau threading modul, dll. Cukup mudah dilakukan. Perbarui :Sebenarnya inilah contoh yang baru saja saya tulis di python3 .

Untuk pengujian yang lebih canggih, ambil kode sumber PostgreSQL dan gunakan alat "isolationtester" di src/test/isolation yang memungkinkan Anda menulis resep yang melakukan urutan perintah yang rumit. Itu tidak mendukung dibangun dengan PGXS (walaupun dukungan seperti itu mungkin cukup sepele untuk ditambahkan) jadi Anda harus mengkompilasi seluruh pohon sumber PostgreSQL, tapi itu cukup cepat. Ini akan berjalan melawan PostgreSQL Anda yang sudah ada sehingga tidak perlu menginstal yang Anda kompilasi.

Lihat src/test/isolation/README untuk informasi lebih lanjut tentang alat penguji isolasi. Dokumennya agak tipis di lapangan karena ini adalah alat pengujian internal, tetapi kasus pengujian yang ada akan membantu Anda memulai. Jangan ragu untuk meningkatkannya untuk memenuhi kebutuhan Anda dan mengirimkan tambalan :)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perintah meta di Psycopg2 - \d tidak berfungsi

  2. Bagaimana Anda menggunakan variabel dalam skrip PostgreSQL sederhana?

  3. Bagaimana cara melewatkan tabel atau baris ke suatu fungsi di Postgresql?

  4. simpan hasil postgresql dalam variabel bash

  5. SELECT memunculkan pengecualian dalam fungsi PL/pgSQL