Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der PostgreSQL-Versionsidentifizierung

Detaillierte Erläuterung der PostgreSQL-Versionsidentifizierung

jacklove
jackloveOriginal
2018-06-11 17:22:422404Durchsuche

Insertdeleteupdate wird nach ctid gefunden und zeigt die Änderungen des Datensatzes xminxmax an.

xmin stellt die Transaktion dar, die die Datensatz-ID

einfügt. Xmax

: Zeigt Löschung oder Sperre an der aufgezeichneten Transaktion ID xid_snapshot: Im aktuellen Cluster beendet Transaktion

Verstopfung

: Transaktions-Commit-Statusprotokoll Definition des Datensatzformats: htup_details.h: POSTGRES-Heap-Tupel-Header-Definitionen.

1

) Alle anzeigen xid

verwandte Funktionen sind hier txid_current

Funktion

2) sichtbar Aktuelle Transaktion ID

postgres=# select * from txid_current();
 txid_current
--------------
         1676
(1 row)
 
3)进行一次insert后,看事务ID已经+1
postgres=# insert into tt values(1);
INSERT 0 1
postgres=# select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid  | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,1) | 1677 |    0 |    0 |    0 |  1
(1 row)

4) Nach dem Öffnen einer Transaktion führen Sie Update

postgres=# begin;
BEGIN
 
postgres=# update tt set id=3;
UPDATE 1
postgres=# select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid  | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,2) | 1678 |    0 |    0 |    0 |  3
(1 row)

5) Anzeigen

postgres=#  select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid  | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,1) | 1677 | 1678 |    0 |    0 |  1
(1 row)

in einer anderen Sitzung, um die aktuellen nicht abgeschlossenen Transaktionen oder ungeöffneten Transaktionen anzuzeigen. Transaktion


postgres=# select *from txid_current_snapshot();
 txid_current_snapshot
-----------------------
 1684:1684:
(1 row)
 
postgres=# select * from txid_current();
 txid_current
--------------
         1684
(1 row)

zeichnet auf, ob die Transaktion festgeschrieben ist. In dieser Datei

bit

:

-rw-------. 1 pg pg 8192 Jun 10 04:19 0000
[pg@localhost pg_clog]$ pwd
/home/pg/data/pg_clog
Dieser Artikel stellt vor Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website. Verwandte Empfehlungen:

Erklären Sie, was B/S und C/S sind

So übergeben Sie CSS3+HTML5 Implementieren vertikales Menü

Erklärung zum lokalen HTML5-Speicher

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PostgreSQL-Versionsidentifizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn