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

pg_stat_activity tidak diperbarui dalam prosedur atau transaksi

PostgreSQL membuat cache per-backend (per-koneksi, secara efektif) dari data yang digunakan oleh pg_stat_get_activity() fungsi yang digunakan oleh pg_stat_activity dan pg_stat_replication .

Cache ini dihapus saat komit/kembalikan, tetapi tidak di akhir setiap pernyataan dalam transaksi di READ COMMITTED seperti biasa.

Anda dapat menghapusnya secara eksplisit dengan SELECT pg_stat_clear_snapshot() . Sebut saja di dalam tubuh PL/PgSQL LOOP untuk menyegarkan.

Tidak ada cara AFAIK untuk meminta PostgreSQL melakukan penyegaran otomatis setelah setiap pernyataan saat menggunakan repeatable read atau isolasi yang lebih tinggi.

Dalam kode sumber, lihat pgstat_read_current_status(void) dan 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 - mulai di mac - `pg_ctl` tidak berfungsi

  2. Pesan 28000:tidak ada entri pg_hba.conf untuk host \xx.xxx.xxx.xxxx\, pengguna \User, database \databasename\, SSL mati

  3. Bagaimana cara membuat bidang dengan daftar kunci asing di SQLAlchemy?

  4. Saya memerlukan fungsi untuk memilih 88 baris acak dari tabel (tanpa duplikat)

  5. Pendekatan yang kuat untuk membuat kueri SQL secara terprogram