sql >> Database teknologi >  >> RDS >> PostgreSQL

Meddeler postgres ændringer til java-applikationen

Hvilken anden løsning har jeg til dette problem?

Brug LISTEN og NOTIFY for at fortælle din app, at tingene har ændret sig.

Du kan sende NOTIFY fra en trigger, der også registrerer ændringer i en køtabel.

Du skal bruge en PgJDBC-forbindelse, der har sendt en LISTEN for den eller de begivenheder, du bruger. Den skal polle databasen ved at sende periodiske tomme forespørgsler ("" ) hvis du bruger SSL; Hvis du ikke bruger SSL, kan dette undgås ved at bruge kontrol af asynkrone notifikationer. Du skal pakke Connection ud objekt fra din forbindelsespulje for at kunne caste den underliggende forbindelse til en PgConnection at bruge lyt/notificere med. Se relateret svar

Producent/forbruger-bitten bliver sværere. For at have flere nedbrudssikre samtidige forbrugere i PostgreSQL skal du bruge rådgivende låsning med pg_try_advisory_lock(...) . Hvis du ikke har brug for samtidige forbrugere, så er det nemt, du skal bare SELECT ... LIMIT 1 FOR UPDATE en række ad gangen.

Forhåbentlig vil 9.4 inkludere en nemmere metode til at springe låste rækker over med FOR UPDATE , da der er arbejde i udvikling for det.



  1. Tilføj en ny tabelkolonne til specifik ordensposition i Microsoft SQL Server

  2. Om GO-kommandoen i SQL Server

  3. DateTime2 vs DateTime i SQL Server

  4. Sådan ændres din sessions valutasymbol i Oracle