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 :)