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

Memberi tahu perubahan postgres ke aplikasi Java

Solusi apa lagi yang saya miliki untuk masalah ini?

Gunakan LISTEN dan NOTIFY untuk memberi tahu aplikasi Anda bahwa banyak hal telah berubah.

Anda dapat mengirimkan NOTIFY dari pemicu yang juga mencatat perubahan dalam tabel antrian.

Anda memerlukan koneksi PgJDBC yang telah mengirimkan LISTEN untuk acara yang Anda gunakan. Itu harus polling database dengan mengirimkan kueri kosong berkala ("" ) jika Anda menggunakan SSL; jika Anda tidak menggunakan SSL, hal ini dapat dihindari dengan menggunakan pemeriksaan notifikasi asinkron. Anda harus membuka Connection objek dari kumpulan koneksi Anda untuk dapat mentransmisikan koneksi yang mendasarinya ke PgConnection untuk menggunakan mendengarkan/memberi tahu dengan. Lihat jawaban terkait

Bit produsen/konsumen akan lebih sulit. Untuk memiliki beberapa konsumen serentak yang aman dari gangguan di PostgreSQL, Anda perlu menggunakan penguncian penasehat dengan pg_try_advisory_lock(...) . Jika Anda tidak membutuhkan konsumen bersamaan maka mudah, Anda cukup SELECT ... LIMIT 1 FOR UPDATE berturut-turut.

Semoga 9.4 akan menyertakan metode yang lebih mudah untuk melewatkan baris terkunci dengan FOR UPDATE , karena ada pekerjaan dalam pengembangan untuk itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER DENGAN daftar nilai IN

  2. Tabel Postgresql ada, tetapi mendapatkan relasi tidak ada saat melakukan kueri

  3. GROUP BY dalam klausa UPDATE FROM

  4. Mengelola peran dan atribut peran di PostgreSQL

  5. Beberapa ide tentang pengumpulan sumber daya tingkat rendah di PostgreSQL