Ich möchte wissen, ob es eine Möglichkeit gibt, die Transaktionen aus WAL-Logs auf einfachere Weise zu lesen. Ich möchte die Transaktionen nicht die binären Daten. Früher habe ich pg_xlogdump aber ich habe keine Ahnung, wie aus dem Ergebnis die Transaktionen zu erhalten, die so aussahpostgresql: Drucken von Transaktionen aus WAL-Logs
rmgr: Btree len (rec/tot): 2/ 64, tx: 659, lsn: 0/0172D3C8, prev 0/0172D380, desc: INSERT_LEAF off 284, blkref #0: rel 1663/12411/3455 blk 1 rmgr: Heap len (rec/tot): 3/ 171, tx: 659, lsn: 0/0172D408, prev 0/0172D3C8, desc: INSERT off 35, blkref #0: rel 1663/12411/1249 blk 44 rmgr: Btree len (rec/tot): 2/ 64, tx: 659, lsn: 0/0172D4B8, prev 0/0172D408, desc: INSERT_LEAF off 91, blkref #0: rel 1663/12411/2658 blk 13 rmgr: Btree len (rec/tot): 2/ 64, tx: 659, lsn: 0/0172D4F8, prev 0/0172D4B8, desc: INSERT_LEAF off 309, blkref #0: rel 1663/12411/2659 blk 8 rmgr: Heap len (rec/tot): 3/ 193, tx: 659, lsn: 0/0172D538, prev 0/0172D4F8, desc: INSERT off 25, blkref #0: rel 1663/12411/2610 blk 2 rmgr: Btree len (rec/tot): 2/ 64, tx: 659, lsn: 0/0172D600, prev 0/0172D538, desc: INSERT_LEAF off 121, blkref #0: rel 1663/12411/2678 blk 1 rmgr: Btree len (rec/tot): 2/ 64, tx: 659, lsn: 0/0172D640, prev 0/0172D600, desc: INSERT_LEAF off 122, blkref #0: rel 1663/12411/2679 blk 1 rmgr: Heap len (rec/tot): 3/ 1786, tx: 659, lsn: 0/0172D680, prev 0/0172D640, desc: INSERT off 3, blkref #0: rel 1663/12411/2606 blk 0 FPW rmgr: Btree len (rec/tot): 2/ 209, tx: 659, lsn: 0/0172DD80, prev 0/0172D680, desc: INSERT_LEAF off 2, blkref #0: rel 1663/12411/2664 blk 1 FPW rmgr: Btree len (rec/tot): 2/ 153, tx: 659, lsn: 0/0172DE58, prev 0/0172DD80, desc: INSERT_LEAF off 3, blkref #0: rel 1663/12411/2665 blk 1 FPW rmgr: Btree len (rec/tot): 2/ 153, tx: 659, lsn: 0/0172DEF8, prev 0/0172DE58, desc: INSERT_LEAF off 1, blkref #0: rel 1663/12411/2666 blk 1 FPW rmgr: Btree len (rec/tot): 2/ 153, tx: 659, lsn: 0/0172DF98, prev 0/0172DEF8, desc: INSERT_LEAF off 3, blkref #0: rel 1663/12411/2667 blk 1 FPW rmgr: Heap len (rec/tot): 3/ 80, tx: 659, lsn: 0/0172E050, prev 0/0172DF98, desc: INSERT off 79, blkref #0: rel 1663/12411/2608 blk 53 rmgr: Btree len (rec/tot): 2/ 72, tx: 659, lsn: 0/0172E0A0, prev 0/0172E050, desc: INSERT_LEAF off 235, blkref #0: rel 1663/12411/2673 blk 38 rmgr: Btree len (rec/tot): 2/ 72, tx: 659, lsn: 0/0172E0E8, prev 0/0172E0A0, desc: INSERT_LEAF off 113, blkref #0: rel 1663/12411/2674 blk 44 rmgr: Heap len (rec/tot): 3/ 80, tx: 659, lsn: 0/0172E130, prev 0/0172E0E8, desc: INSERT off 80, blkref #0: rel 1663/12411/2608 blk 53 rmgr: Btree len (rec/tot): 2/ 72, tx: 659, lsn: 0/0172E180, prev 0/0172E130, desc: INSERT_LEAF off 231, blkref #0: rel 1663/12411/2673 blk 38 rmgr: Btree len (rec/tot): 2/ 72, tx: 659, lsn: 0/0172E1C8, prev 0/0172E180, desc: INSERT_LEAF off 109, blkref #0: rel 1663/12411/2674 blk 23
Eigentlich mag ich die Transaktionen in SQL. Wenn ich weiß, was jede Transaktion ist und die Werte der Felder, die ausreichen werden.
Sie können SQL von rohen WAL-Protokollen nicht wiederherstellen; Deshalb haben sie erfunden [logische Entschlüsselung] (https://www.postgresql.org/docs/current/static/logicaldecoding-example.html) –
Gibt es eine Möglichkeit zu erhalten, welche Transaktion mit jeder Transaktions-ID zusammen mit den Feldern passiert ist. ?? Ich kann das zu SQL selbst umwandeln. @ NickBarnes –