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

pg_stat_activity opdateres ikke inden for en procedure eller transaktion

PostgreSQL laver en per-backend (per-forbindelse, effektivt) cache af de data, der bruges af pg_stat_get_activity() funktion brugt af både pg_stat_activity og pg_stat_replication .

Denne cache ryddes ved commit/rollback, men ikke i slutningen af ​​hver erklæring i en transaktion i READ COMMITTED som sædvanligt.

Du kan udtrykkeligt rydde det med SELECT pg_stat_clear_snapshot() . Kald det i brødteksten af ​​en PL/PgSQL LOOP for at opdatere.

Der er AFAIK ingen måde at bede PostgreSQL om automatisk at opdatere efter hvert udsagn, når du bruger repeatable read eller højere isolation.

Se pgstat_read_current_status(void) i kildekoden og pgstat_clear_snapshot(void) .




  1. Hvilke dataadgangsmuligheder er bedst tilgængelige for Play framework med Scala og PostgreSQL?

  2. fjern tom linje udskrevet fra hive-forespørgselsoutput ved hjælp af python

  3. MVC4:UserIsInRole - Kan ikke oprette forbindelse til SQL Server-databasen

  4. Indtast disse tabelværdiparametre kraftigt