sql >> データベース >  >> RDS >> PostgreSQL

Javaアプリケーションへのpostgresの変更を通知する

    この問題に対して他にどのような解決策がありますか?

    LISTENを使用する およびNOTIFY 状況が変わったことをアプリに伝えます。

    NOTIFYを送信できます キューテーブルの変更も記録するトリガーから。

    LISTENを送信したPgJDBC接続が必要です 使用しているイベントの場合。定期的に空のクエリ("")を送信してデータベースをポーリングする必要があります )SSLを使用している場合。 SSLを使用していない場合は、非同期通知チェックを使用することでこれを回避できます。 Connectionのラップを解除する必要があります 接続プールのオブジェクトを使用して、基になる接続をPgConnectionにキャストできるようにします。 でlisten/notifyを使用します。関連する回答を見る

    プロデューサー/コンシューマービットはより難しくなります。 PostgreSQLで複数のクラッシュセーフな同時コンシューマーを使用するには、pg_try_advisory_lock(...)でアドバイザリロックを使用する必要があります。 。同時コンシューマーが必要ない場合は簡単です。SELECT ... LIMIT 1 FOR UPDATE 一度に1行ずつ。

    うまくいけば、9.4には、FOR UPDATEでロックされた行をスキップする簡単な方法が含まれるでしょう。 、開発中の作業があるため。



    1. SPARSECOLUMNを使用する理由と時期(SQL SERVER 2008)

    2. Flask、Connexion、SQLAlchemyを使用したPython REST API –パート2

    3. 異なるスキーマから2つのテーブルをクエリする

    4. Oracleでミリ秒単位のタイムスタンプを日付に変換する方法