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

Apa yang dimaksud dengan pecahan TX dan XID di alat pgadmin postgres

ID transaksi virtual memiliki format "n/nnnn". XID nyata hanyalah bilangan bulat. Bagian pertama dari xid virtual adalah pengidentifikasi backend yang unik untuk setiap koneksi; bagian kedua adalah id transaksi sementara yang ditetapkan oleh backend koneksi tersebut untuk transaksinya.

Lihat definisi VirtualTransactionId di src/include/storage/lock.h untuk detailnya.

Kolom tersebut tampaknya sesuai dengan virtualxid dan/atau transactionid dan virtualtransaction kolom di pg_locks . Lihat dokumen .

Jika saya benar dalam hal itu maka:

  • "TX" adalah ID transaksi virtual dari transaksi yang menahan atau menunggu penguncian.
  • "XID" adalah ID transaksi virtual dari transaksi yang ditargetkan oleh transaksi yang menunggu, jika targetnya adalah xid virtual. Di PgAdmin mungkin juga menunjukkan xid target jika itu xid normal.

ID transaksi virtual adalah ID transaksi sementara dan sementara yang dialokasikan PostgreSQL untuk setiap transaksi pada awal transaksi. Mereka tidak direkam pada disk. Sebuah xid nyata hanya dialokasikan ketika transaksi melakukan sesuatu yang memerlukan transaksional menulis ke disk.

Per manual tertaut:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KESALAHAN:nilai nol dalam id kolom melanggar batasan bukan nol

  2. Pgadmin tidak memuat

  3. Kembalikan nilai silang bergabung

  4. Jumlah maksimum entri dalam histogram_bounds

  5. Mendapatkan Kesalahan Operasional:FATAL:maaf, terlalu banyak klien yang sudah menggunakan psycopg2