PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

pg_stat_activity не се актуализира в рамките на процедура или транзакция

PostgreSQL прави кеш за всеки бекенд (ефективно за всяка връзка) на данните, използвани от pg_stat_get_activity() функция, използвана от двете pg_stat_activity и pg_stat_replication .

Този кеш се изчиства при извършване/връщане назад, но не в края на всеки оператор в рамките на транзакция в READ COMMITTED както обикновено.

Можете изрично да го изчистите с SELECT pg_stat_clear_snapshot() . Извикайте го в тялото на PL/PgSQL LOOP за опресняване.

Няма AFAIK начин да поискате от PostgreSQL автоматично опресняване след всеки израз, когато използвате repeatable read или по-висока изолация.

В изходния код вижте pgstat_read_current_status(void) и pgstat_clear_snapshot(void) .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql конектори, използващи VC++

  2. Един към много към един с атрибути Форма със Symfony 3 / Doctrine

  3. RoR:Не може да се промени_колона в postgres, добре в MySQL (MySQL за разработка, Postgres на Heroku)

  4. Как да конвертирам интервал в брой часове с postgres?

  5. postgresql с функция wrap sql толкова бавен?