| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat |
| postgresql:backup-restore [2026/04/22 03:10] – riba.zoltan | postgresql:backup-restore [2026/04/29 12:27] (aktuális) – [WAL állományok ellenőrzése] riba.zoltan |
|---|
| ====== Mentés és helyreállítás ====== | ====== PostgreSQL mentés és helyreállítás ====== |
| |
| ==== WAL archiválás (primary) ==== | ==== Előkészítő műveletek ==== |
| | |
| | A mentés és helyreállítás gyakorlásához szükség van egy telepített és inicializált PostgreSQL adatbázis példányra. Mentések a pg01 (192.168.100.71) gépről készülnek. Helyreállításhoz a pg03 (192.168.100.73) gépet használjuk. A hozzáférések ''trust'' típusú hozzáférések, a gépek jelszó nélkül érik el egymást. |
| | |
| | ===== Teljes mentés és helyreállítás ===== |
| | |
| | ==== Elsődleges gép beállítása ==== |
| | |
| | === Telepített komponensek ellenőrzése === |
| |
| <code> | <code> |
| [postgres@pg01 ~]$ psql -c "ALTER SYSTEM SET archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f'" | [root@pg01 ~]# rpm -qa | grep postgresql |
| ALTER SYSTEM | postgresql18-libs-18.3-1PGDG.rhel9.7.x86_64 |
| | postgresql18-18.3-1PGDG.rhel9.7.x86_64 |
| | postgresql18-server-18.3-1PGDG.rhel9.7.x86_64 |
| | </code> |
| | |
| | === Adatbázis inicializálás === |
| | |
| | Az inicializálás során megadjuk az adatbázis alap kódkészletét és a WAL szegmensek méretét. Ezek a paraméterek utólag nem módosíthatók. |
| | |
| | <code> |
| | [postgres@pg01 ~]$ /usr/pgsql-18/bin/initdb --encoding=UTF8 --locale=en_US.UTF-8 --wal-segsize=32 -D /var/lib/pgsql/18/data |
| | The files belonging to this database system will be owned by user "postgres". |
| | This user must also own the server process. |
| | |
| | The database cluster will be initialized with locale "en_US.UTF-8". |
| | The default text search configuration will be set to "english". |
| | |
| | Data page checksums are enabled. |
| | |
| | fixing permissions on existing directory /var/lib/pgsql/18/data ... ok |
| | creating subdirectories ... ok |
| | selecting dynamic shared memory implementation ... posix |
| | selecting default "max_connections" ... 100 |
| | selecting default "shared_buffers" ... 128MB |
| | selecting default time zone ... Europe/Budapest |
| | creating configuration files ... ok |
| | running bootstrap script ... ok |
| | performing post-bootstrap initialization ... ok |
| | syncing data to disk ... ok |
| | |
| | initdb: warning: enabling "trust" authentication for local connections |
| | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. |
| | |
| | Success. You can now start the database server using: |
| | |
| | /usr/pgsql-18/bin/pg_ctl -D /var/lib/pgsql/18/data -l logfile start |
| | |
| | </code> |
| | |
| | === Konfiguráció módosítása === |
| | |
| | <code> |
| | [postgres@pg01 ~]$ echo $PGDATA |
| | /var/lib/pgsql/18/data |
| | |
| | [postgres@pg01 ~]$ cp -a $PGDATA/pg_hba.conf $PGDATA/pg_hba.conf.orig |
| | |
| | [postgres@pg01 ~]$ cp -a $PGDATA/postgresql.conf $PGDATA/postgresql.conf.orig |
| | |
| | [postgres@pg01 ~]$ cat > $PGDATA/pg_hba.conf <<'EOF' |
| | # TYPE DATABASE USER ADDRESS METHOD |
| | local all all trust |
| | host all all 192.168.100.73/32 trust |
| | host all all 127.0.0.1/32 trust |
| | host all all ::1/128 trust |
| | |
| | local replication all trust |
| | host replication all 192.168.100.73/32 trust |
| | host replication all 127.0.0.1/32 trust |
| | host replication all ::1/128 trust |
| | EOF |
| | |
| | [postgres@pg01 ~]$ cat > $PGDATA/postgresql.conf <<'EOF' |
| | listen_addresses = '*' |
| | port = 5432 |
| | max_connections = 1000 |
| | shared_buffers = 128MB |
| | dynamic_shared_memory_type = posix |
| | max_wal_size = 2GB |
| | min_wal_size = 160MB |
| | log_destination = 'stderr' |
| | logging_collector = on |
| | log_directory = 'log' |
| | log_filename = 'postgresql-%a.log' |
| | log_rotation_age = 1d |
| | log_rotation_size = 0 |
| | log_truncate_on_rotation = on |
| | log_line_prefix = '%m [%p] ' |
| | log_timezone = 'Europe/Budapest' |
| | autovacuum_worker_slots = 16 |
| | datestyle = 'iso, mdy' |
| | timezone = 'Europe/Budapest' |
| | lc_messages = 'en_US.UTF-8' |
| | lc_monetary = 'en_US.UTF-8' |
| | lc_numeric = 'en_US.UTF-8' |
| | lc_time = 'en_US.UTF-8' |
| | default_text_search_config = 'pg_catalog.english' |
| | EOF |
| | </code> |
| | |
| | === Ellenőrzés ==== |
| | |
| | <code> |
| | [root@pg01 ~]# systemctl start postgresql-18 |
| | |
| | [root@pg01 ~]# psql -U postgres -l |
| | List of databases |
| | Name | Owner | Encoding | Locale Provider | Collate | Ctype | |
| | Locale | ICU Rules | Access privileges |
| | -----------+----------+----------+-----------------+-------------+-------------+ |
| | --------+-----------+----------------------- |
| | postgres | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | |
| | template0 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | =c/postgres + |
| | | | | | | | |
| | | | postgres=CTc/postgres |
| | template1 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | =c/postgres + |
| | | | | | | | |
| | | | postgres=CTc/postgres |
| | (3 rows) |
| | </code> |
| | |
| | Amennyiben tűzfal védi a gépet, engedélyezni kell a PostgreSQL forgalmat a mentő gépről. |
| | |
| | ==== Mentő gép beállítása ==== |
| | |
| | === Telepített komponensek ellenőrzése === |
| | |
| | <code> |
| | [root@pg03 ~]# rpm -qa | grep postgresql |
| | postgresql18-libs-18.3-1PGDG.rhel9.7.x86_64 |
| | postgresql18-18.3-1PGDG.rhel9.7.x86_64 |
| | postgresql18-server-18.3-1PGDG.rhel9.7.x86_64 |
| | </code> |
| | |
| | === Alap mentés készítése === |
| | |
| | Az ''$PGDATA'' adatbázis könyvtárnak üresnek kell lennie. Ha nem üres, akkor az adatbázis leállítása után töröljük a tartalmát. |
| | |
| | <code> |
| | [root@pg03 ~]# systemctl stop postgresql-18 |
| | |
| | [root@pg03 ~]# rm -rf /var/lib/pgsql/18/data/* |
| | </code> |
| | |
| | === Kapcsolat tesztelése === |
| | |
| | <code> |
| | [postgres@pg03 ~]$ /usr/pgsql-18/bin/psql -h pg01 -U postgres -c 'SELECT now()' |
| | now |
| | ------------------------------- |
| | 2026-04-29 09:35:25.404765+02 |
| | (1 row) |
| | |
| | </code> |
| | |
| | === Alap mentés === |
| | |
| | Mentéshez a ''pg_basebackup'' programot használjuk. |
| | |
| | <code> |
| | [postgres@pg03 ~]$ /usr/pgsql-18/bin/pg_basebackup --host=pg01 --username=postgres --format=p --wal-method=stream --checkpoint=fast --progress --pgdata=/var/lib/pgsql/18/backups/backup-full-$(date +'%Y%m%dT%H%M%S') |
| | 23708/23708 kB (100%), 1/1 tablespace |
| | </code> |
| | |
| | Ugyanez a mentés rövid kapcsolókkal |
| | |
| | <code> |
| | [postgres@pg03 ~]$ /usr/pgsql-18/bin/pg_basebackup -h pg01 -U postgres -F p -X s -c fast -P -D /var/lib/pgsql/18/backups/backup-full-$(date +'%Y%m%dT%H%M%S') |
| | 23709/23709 kB (100%), 1/1 tablespace |
| | </code> |
| | |
| | === Mentés helyreállítása === |
| | |
| | A mentés helyreállításához a mentés könyvtár tartalmát át kell másolni a ''$PGDATA'' könvtárba. |
| | |
| | <code> |
| | [postgres@pg03 ~]$ cp -a /var/lib/pgsql/18/backups/backup-full-20260429T094626/* /var/lib/pgsql/18/data/ |
| | </code> |
| | |
| | El kell indítani a ''postgresql'' szolgáltatást. |
| | |
| | <code> |
| | [root@pg03 ~]# systemctl restart postgresql-18 |
| | </code> |
| | |
| | Ellenőrizni kell az adatbázis állapotát |
| | |
| | <code> |
| | [root@pg03 ~]# psql -U postgres -l |
| | List of databases |
| | Name | Owner | Encoding | Locale Provider | Collate | Ctype | |
| | Locale | ICU Rules | Access privileges |
| | -----------+----------+----------+-----------------+-------------+-------------+ |
| | --------+-----------+----------------------- |
| | postgres | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | |
| | template0 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | =c/postgres + |
| | | | | | | | |
| | | | postgres=CTc/postgres |
| | template1 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | |
| | | | =c/postgres + |
| | | | | | | | |
| | | | postgres=CTc/postgres |
| | (3 rows) |
| | |
| | [root@pg03 ~]# cat /var/lib/pgsql/18/data/log/postgresql-Wed.log |
| | 2026-04-29 09:55:20.315 CEST [432] LOG: starting PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), 64-bit |
| | 2026-04-29 09:55:20.315 CEST [432] LOG: listening on IPv4 address "0.0.0.0", port 5432 |
| | 2026-04-29 09:55:20.315 CEST [432] LOG: listening on IPv6 address "::", port 5432 |
| | 2026-04-29 09:55:20.316 CEST [432] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432" |
| | 2026-04-29 09:55:20.317 CEST [432] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" |
| | 2026-04-29 09:55:20.320 CEST [439] LOG: database system was interrupted; last known up at 2026-04-29 09:46:26 CEST |
| | 2026-04-29 09:55:20.395 CEST [439] LOG: starting backup recovery with redo LSN 0/A000028, checkpoint LSN 0/A000080, on timeline ID 1 |
| | 2026-04-29 09:55:20.398 CEST [439] LOG: redo starts at 0/A000028 |
| | 2026-04-29 09:55:20.398 CEST [439] LOG: completed backup recovery with redo LSN 0/A000028 and end LSN 0/A000120 |
| | 2026-04-29 09:55:20.398 CEST [439] LOG: consistent recovery state reached at 0/A000120 |
| | 2026-04-29 09:55:20.398 CEST [439] LOG: redo done at 0/A000120 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s |
| | 2026-04-29 09:55:20.409 CEST [437] LOG: checkpoint starting: end-of-recovery immediate wait |
| | 2026-04-29 09:55:20.416 CEST [437] LOG: checkpoint complete: wrote 0 buffers (0.0%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 2 recycled; write=0.002 s, sync=0.001 s, total=0.008 s; sync files=2, longest=0.001 s, average=0.001 s; distance=16384 kB, estimate=16384 kB; lsn=0/B000028, redo lsn=0/B000028 |
| | 2026-04-29 09:55:20.418 CEST [432] LOG: database system is ready to accept connections |
| | </code> |
| | |
| | ===== Archív WAL mentés és helyreállítás ===== |
| | |
| | ==== Elsődleges gép beállítása ==== |
| | |
| | Az elsődleges gépen a korábbi beállítások mellett meg kell adnunk az archiválási utasításokat. Ezek a ''$PGDATA/postgresql.conf'' fájl módosításával vagy SQL utasítások segítségével valósítható meg. Az alábbi módszerek közül, csak az egyiket kell alkalmazni! |
| | |
| | === Közvetlen fájl szerkesztés ==== |
| | |
| | <code> |
| | [postgres@pg01 ~]$ echo "archive_mode = 'on'" >> $PGDATA/postgresql.conf |
| | |
| | [postgres@pg01 ~]$ echo "archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f'" >> $PGDATA/postgresql.conf |
| | |
| | [postgres@pg01 ~]$ tail -n 2 $PGDATA/postgresql.conf |
| | archive_mode = 'on' |
| | archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f' |
| | </code> |
| | |
| | === SQL utasítások használata === |
| | |
| | <code> |
| | [postgres@pg01 ~]$ cat $PGDATA/postgresql.auto.conf |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| |
| [postgres@pg01 ~]$ psql -c "ALTER SYSTEM SET archive_mode = 'on'" | [postgres@pg01 ~]$ psql -c "ALTER SYSTEM SET archive_mode = 'on'" |
| ALTER SYSTEM | ALTER SYSTEM |
| |
| | [postgres@pg01 ~]$ psql -c "ALTER SYSTEM SET archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f'" |
| | ALTER SYSTEM |
| | |
| | [postgres@pg01 ~]$ cat $PGDATA/postgresql.auto.conf |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| | archive_mode = 'on' |
| | archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f' |
| | </code> |
| | |
| | A módosítások után újra kell indítani a ''postgresql'' szolgáltatást. |
| | |
| | <code> |
| [root@pg01 ~]# systemctl restart postgresql-18 | [root@pg01 ~]# systemctl restart postgresql-18 |
| | </code> |
| |
| [postgres@pg01 ~]$ psql -c "SHOW archive_command" | Ellenőrizni kell a beállítások érvényességét. |
| archive_command | |
| ------------------------------------------------------------------------------ | <code> |
| test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f | [postgres@pg01 ~]$ psql |
| (1 row) | psql (18.3) |
| | Type "help" for help. |
| |
| [postgres@pg01 ~]$ psql -c "SHOW archive_mode" | postgres=# SHOW archive_mode; |
| archive_mode | archive_mode |
| -------------- | -------------- |
| on | on |
| (1 row) | (1 row) |
| | |
| | postgres=# SHOW archive_command; |
| | archive_command |
| | ------------------------------------------------------------------------------ |
| | test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f |
| | (1 row) |
| | |
| | postgres=# exit |
| </code> | </code> |
| |
| Hozzunk létre teszt adatokat | ==== Teszt adatok létrehozása ==== |
| |
| <code> | <code> |
| INSERT 0 1 | INSERT 0 1 |
| |
| [postgres@pg01 ~]$ pg_basebackup -D /var/lib/pgsql/18/backups/backup_1 -X stream -P | [postgres@pg01 ~]$ psql -U test -d test -c "SELECT now()" |
| 31412/31412 kB (100%), 1/1 tablespace | now |
| | ------------------------------- |
| | 2026-04-29 13:22:50.856461+02 |
| | (1 row) |
| | </code> |
| |
| | A mentő gépen készíteni kell egy alap mentést |
| | |
| | <code> |
| | [postgres@pg03 ~]$ /usr/pgsql-18/bin/pg_basebackup -h pg01 -U postgres -F p -X s -c fast -P -D /var/lib/pgsql/18/backups/backup-full-$(date +'%Y%m%d') |
| | 31410/31410 kB (100%), 1/1 tablespace |
| | </code> |
| | |
| | |
| | Az elsődleges gépen adjunk hozzá további adatokat a táblához. |
| | |
| | <code> |
| [postgres@pg01 ~]$ psql -U test -d test -c "INSERT INTO test (id, data) VALUES (2, 'backup után')" | [postgres@pg01 ~]$ psql -U test -d test -c "INSERT INTO test (id, data) VALUES (2, 'backup után')" |
| INSERT 0 1 | INSERT 0 1 |
| now | now |
| ------------------------------- | ------------------------------- |
| 2026-04-22 02:57:53.405918+02 | 2026-04-29 13:24:15.571397+02 |
| (1 row) | (1 row) |
| |
| now | now |
| ------------------------------- | ------------------------------- |
| 2026-04-22 02:58:26.462712+02 | 2026-04-29 13:24:36.372224+02 |
| | (1 row) |
| | |
| | </code> |
| | |
| | Újabb adat kerül a táblába, mielőtt véletlen tábla törlés történik. |
| | |
| | <code> |
| | [postgres@pg01 ~]$ psql -U test -d test -c "INSERT INTO test (id, data) VALUES (3, 'törlés előtt')" |
| | INSERT 0 1 |
| | |
| | [postgres@pg01 ~]$ psql -U test -d test -c "SELECT now()" |
| | now |
| | ------------------------------- |
| | 2026-04-29 13:24:36.372224+02 |
| (1 row) | (1 row) |
| |
| DROP TABLE | DROP TABLE |
| |
| [postgres@pg01 18]$ psql -U test -d test -c "SELECT now()" | [postgres@pg01 ~]$ psql -U test -d test -c "SELECT now()" |
| now | now |
| ------------------------------- | ------------------------------- |
| 2026-04-22 02:59:25.744184+02 | 2026-04-29 13:25:17.096924+02 |
| (1 row) | (1 row) |
| |
| ERROR: relation "test" does not exist | ERROR: relation "test" does not exist |
| LINE 1: SELECT * FROM test | LINE 1: SELECT * FROM test |
| | ^ |
| | </code> |
| |
| [postgres@pg01 ~]$ psql -c "SELECT pg_switch_wal()" | A tábla törlésre került, az adatok elvesztek. Minden módosítás a WAL állományokban található, amelyeket a mentő gépre kell továbbítani a helyreállításhoz. Ehhez az ''rsync'' utasítást használjuk. |
| | |
| | ==== Mentő gép előkészítése ==== |
| | |
| | A mentő gépen le kell állítani a ''postgresql'' szolgáltatást. |
| | |
| | <code> |
| | [root@pg03 ~]# systemctl stop postgresql-18 |
| | </code> |
| | |
| | Utasítani kell az elsődleges gépet, hogy archiválja a WAL állományokat, amelyekben a változások vannak. |
| | |
| | <code> |
| | [root@pg03 ~]# psql -h pg01 -U postgres -d postgres -c "SELECT pg_switch_wal()" |
| pg_switch_wal | pg_switch_wal |
| --------------- | --------------- |
| 0/1000C300 | 0/603D708 |
| (1 row) | (1 row) |
| |
| ^ | |
| </code> | </code> |
| |
| ==== Helyreállítás egy másik gépen ==== | ==== Adatok helyreállítása ==== |
| | |
| | === Előkészítő műveletek === |
| | |
| | WAL állományok szinkronizálása |
| |
| <code> | <code> |
| [root@pg03 ~]# rsync -a --delete root@pg01:/var/lib/pgsql/18/backups/ /var/lib/pgsql/18/backups/ | [root@pg03 ~]# rsync -a root@pg01:/var/lib/pgsql/18/backups/ /var/lib/pgsql/18/backups/ |
| root@pg01's password: | root@pg01's password: |
| | </code> |
| |
| [root@pg03 ~]# systemctl stop postgresql-18 | Alap mentés helyreállítása |
| |
| | <code> |
| [root@pg03 ~]# rm -rf /var/lib/pgsql/18/data/* | [root@pg03 ~]# rm -rf /var/lib/pgsql/18/data/* |
| |
| [root@pg03 ~]# cp -a /var/lib/pgsql/18/backups/backup_1/* /var/lib/pgsql/18/data/ | [root@pg03 ~]# cp -a /var/lib/pgsql/18/backups/backup-full-20260429/* /var/lib/pgsql/18/data/ |
| | </code> |
| |
| | Törölni kell az az archiválás beállításait a ''$PGDATA/postgresql.conf'' vagy a ''$PGDATA/postgresql.auto.conf'' fájlokban. Ezen kívül érdemes a felesleges állományokat törölni. |
| | |
| | <code> |
| | [root@pg03 ~]# sed -i '/archive_mode =/d' /var/lib/pgsql/18/data/postgresql.conf |
| | |
| | [root@pg03 ~]# sed -i '/archive_mode =/d' /var/lib/pgsql/18/data/postgresql.auto.conf |
| | |
| | [root@pg03 ~]# sed -i '/archive_command =/d' /var/lib/pgsql/18/data/postgresql.conf |
| | |
| | [root@pg03 ~]# sed -i '/archive_command =/d' /var/lib/pgsql/18/data/postgresql.auto.conf |
| | |
| | [root@pg03 ~]# rm -rf /var/lib/pgsql/18/data/log/* |
| | </code> |
| | |
| | ==== Visszaállás megadott időpontra ==== |
| | |
| | |
| | Hozzá kell adni a ''$PGDATA/postgresql.conf'' VAGY a ''$PGDATA/postgresql.auto.conf'' fájlhoz az helyreállításhoz szükséges adatokat és létre kell hozni a ''$PGDATA/recovery.signal'' állományt. A példában a tábla törlését megelőző pillanatot adtam meg. |
| | |
| | <code> |
| [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf | [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf |
| # Do not edit this file manually! | # Do not edit this file manually! |
| # It will be overwritten by the ALTER SYSTEM command. | # It will be overwritten by the ALTER SYSTEM command. |
| archive_command = 'test ! -f /var/lib/pgsql/18/backups/%f && cp %p /var/lib/pgsql/18/backups/%f' | |
| archive_mode = 'on' | |
| |
| [root@pg03 ~]# export RECOVERY_TIMESTAMP='2026-04-22 04:09:07.322546+02' | [root@pg03 ~]# export RECOVERY_TIMESTAMP='2026-04-29 13:24:36.372224+02' |
| |
| [root@pg03 ~]# cat > /var/lib/pgsql/18/data/postgresql.auto.conf <<EOF | [root@pg03 ~]# cat >> /var/lib/pgsql/18/data/postgresql.auto.conf <<EOF |
| restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' | restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' |
| recovery_target_time = '$RECOVERY_TIMESTAMP' | recovery_target_time = '$RECOVERY_TIMESTAMP' |
| EOF | EOF |
| |
| [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf | [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' | restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' |
| recovery_target_time = '2026-04-22 04:09:07.322546+02' | recovery_target_time = '2026-04-29 13:24:36.372224+02' |
| recovery_target_action = 'promote' | recovery_target_action = 'promote' |
| |
| |
| [root@pg03 ~]# chown -R postgres:postgres /var/lib/pgsql/18/data/ | [root@pg03 ~]# chown -R postgres:postgres /var/lib/pgsql/18/data/ |
| | </code> |
| |
| [root@pg03 ~]# rm -rf /var/lib/pgsql/18/data/log/* | Adatbázis kezelő indítása |
| |
| | <code> |
| [root@pg03 ~]# systemctl restart postgresql-18 | [root@pg03 ~]# systemctl restart postgresql-18 |
| |
| |
| [root@pg03 ~]# cat /var/lib/pgsql/18/data/log/postgresql-Wed.log | [root@pg03 ~]# cat /var/lib/pgsql/18/data/log/postgresql-Wed.log |
| 2026-04-22 04:45:22.243 CEST [1249] LOG: starting PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), 64-bit | 2026-04-29 13:28:29.087 CEST [1687] LOG: starting PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), 64-bit |
| 2026-04-22 04:45:22.243 CEST [1249] LOG: listening on IPv4 address "0.0.0.0", port 5432 | 2026-04-29 13:28:29.087 CEST [1687] LOG: listening on IPv4 address "0.0.0.0", port 5432 |
| 2026-04-22 04:45:22.243 CEST [1249] LOG: listening on IPv6 address "::", port 5432 | 2026-04-29 13:28:29.087 CEST [1687] LOG: listening on IPv6 address "::", port 5432 |
| 2026-04-22 04:45:22.243 CEST [1249] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432" | 2026-04-29 13:28:29.088 CEST [1687] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432" |
| 2026-04-22 04:45:22.244 CEST [1249] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" | 2026-04-29 13:28:29.089 CEST [1687] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" |
| 2026-04-22 04:45:22.247 CEST [1256] LOG: database system was interrupted; last known up at 2026-04-22 02:56:01 CEST | 2026-04-29 13:28:29.092 CEST [1694] LOG: database system was interrupted; last known up at 2026-04-29 13:23:46 CEST |
| cp: cannot stat '/var/lib/pgsql/18/backups/00000002.history': No such file or directory | cp: cannot stat '/var/lib/pgsql/18/backups/00000002.history': No such file or directory |
| 2026-04-22 04:45:22.347 CEST [1256] LOG: starting backup recovery with redo LSN 0/B000028, checkpoint LSN 0/B0000B8, on timeline ID 1 | 2026-04-29 13:28:29.193 CEST [1694] LOG: starting backup recovery with redo LSN 0/4000028, checkpoint LSN 0/4000080, on timeline ID 1 |
| 2026-04-22 04:45:22.355 CEST [1256] LOG: restored log file "00000001000000000000000B" from archive | 2026-04-29 13:28:29.205 CEST [1694] LOG: restored log file "000000010000000000000002" from archive |
| 2026-04-22 04:45:22.362 CEST [1256] LOG: starting point-in-time recovery to 2026-04-22 04:09:07.322546+02 | 2026-04-29 13:28:29.219 CEST [1694] LOG: starting point-in-time recovery to 2026-04-29 13:24:36.372224+02 |
| 2026-04-22 04:45:22.364 CEST [1256] LOG: redo starts at 0/B000028 | 2026-04-29 13:28:29.221 CEST [1694] LOG: redo starts at 0/4000028 |
| 2026-04-22 04:45:22.372 CEST [1256] LOG: restored log file "00000001000000000000000C" from archive | 2026-04-29 13:28:29.232 CEST [1694] LOG: restored log file "000000010000000000000003" from archive |
| 2026-04-22 04:45:22.385 CEST [1256] LOG: restored log file "00000001000000000000000D" from archive | 2026-04-29 13:28:29.243 CEST [1694] LOG: completed backup recovery with redo LSN 0/4000028 and end LSN 0/4000158 |
| 2026-04-22 04:45:22.397 CEST [1256] LOG: restored log file "00000001000000000000000E" from archive | 2026-04-29 13:28:29.243 CEST [1694] LOG: consistent recovery state reached at 0/4000158 |
| 2026-04-22 04:45:22.404 CEST [1256] LOG: completed backup recovery with redo LSN 0/B000028 and end LSN 0/B000158 | 2026-04-29 13:28:29.243 CEST [1687] LOG: database system is ready to accept read-only connections |
| 2026-04-22 04:45:22.404 CEST [1256] LOG: consistent recovery state reached at 0/B000158 | cp: cannot stat '/var/lib/pgsql/18/backups/000000010000000000000004': No such file or directory |
| 2026-04-22 04:45:22.404 CEST [1249] LOG: database system is ready to accept read-only connections | 2026-04-29 13:28:29.247 CEST [1694] LOG: recovery stopping before commit of transaction 769, time 2026-04-29 13:25:09.539651+02 |
| 2026-04-22 04:45:22.415 CEST [1256] LOG: restored log file "00000001000000000000000F" from archive | 2026-04-29 13:28:29.247 CEST [1694] LOG: redo done at 0/603D270 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.02 s |
| 2026-04-22 04:45:22.430 CEST [1256] LOG: restored log file "000000010000000000000010" from archive | 2026-04-29 13:28:29.247 CEST [1694] LOG: last completed transaction was at log time 2026-04-29 13:24:26.07963+02 |
| cp: cannot stat '/var/lib/pgsql/18/backups/000000010000000000000011': No such file or directory | 2026-04-29 13:28:29.257 CEST [1694] LOG: restored log file "000000010000000000000003" from archive |
| 2026-04-22 04:45:22.440 CEST [1256] LOG: recovery stopping before commit of transaction 784, time 2026-04-22 04:09:58.572915+02 | |
| 2026-04-22 04:45:22.440 CEST [1256] LOG: redo done at 0/1000A220 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.07 s | |
| 2026-04-22 04:45:22.440 CEST [1256] LOG: last completed transaction was at log time 2026-04-22 04:09:03.049934+02 | |
| 2026-04-22 04:45:22.446 CEST [1256] LOG: restored log file "000000010000000000000010" from archive | |
| cp: cannot stat '/var/lib/pgsql/18/backups/00000002.history': No such file or directory | cp: cannot stat '/var/lib/pgsql/18/backups/00000002.history': No such file or directory |
| 2026-04-22 04:45:22.458 CEST [1256] LOG: selected new timeline ID: 2 | 2026-04-29 13:28:29.273 CEST [1694] LOG: selected new timeline ID: 2 |
| cp: cannot stat '/var/lib/pgsql/18/backups/00000001.history': No such file or directory | cp: cannot stat '/var/lib/pgsql/18/backups/00000001.history': No such file or directory |
| 2026-04-22 04:45:22.475 CEST [1256] LOG: archive recovery complete | 2026-04-29 13:28:29.304 CEST [1694] LOG: archive recovery complete |
| 2026-04-22 04:45:22.476 CEST [1254] LOG: checkpoint starting: end-of-recovery immediate wait | 2026-04-29 13:28:29.305 CEST [1692] LOG: checkpoint starting: end-of-recovery immediate wait |
| 2026-04-22 04:45:22.487 CEST [1254] LOG: checkpoint complete: wrote 36 buffers (0.2%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 5 recycled; write=0.003 s, sync=0.004 s, total=0.013 s; sync files=30, longest=0.001 s, average=0.001 s; distance=81960 kB, estimate=81960 kB; lsn=0/1000A220, redo lsn=0/1000A220 | 2026-04-29 13:28:29.312 CEST [1692] LOG: checkpoint complete: wrote 39 buffers (0.2%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 1 recycled; write=0.002 s, sync=0.002 s, total=0.009 s; sync files=14, longest=0.001 s, average=0.001 s; distance=33012 kB, estimate=33012 kB; lsn=0/603D270, redo lsn=0/603D270 |
| 2026-04-22 04:45:22.490 CEST [1249] LOG: database system is ready to accept connections | 2026-04-29 13:28:29.315 CEST [1687] LOG: database system is ready to accept connections |
| | 2026-04-29 13:33:29.338 CEST [1692] LOG: checkpoint starting: time |
| | 2026-04-29 13:33:29.757 CEST [1692] LOG: checkpoint complete: wrote 4 buffers (0.0%), wrote 0 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.403 s, sync=0.011 s, total=0.419 s; sync files=4, longest=0.011 s, average=0.003 s; distance=17 kB, estimate=29713 kB; lsn=0/6041970, redo lsn=0/6041918 |
| </code> | </code> |
| |
| Tipikus helyzetek | Tipikus helyzetek |
| |
| * Az archiválás nem tartalmazza a szükséges WAL-t ezért nem tudunk visszaállni egy megadott időpontra. Ilyenkor a forrás oldalon futtatni kell a '' psql -c \"SELECT pg_switch_wal()\" '' utasítást és újra áttölteni a helyreállító gépre. | * Az archiválás nem tartalmazza a szükséges WAL-t ezért nem tudunk visszaállni egy megadott időpontra. Ilyenkor a forrás oldalon futtatni kell a ''<nowiki>psql -c "SELECT pg_switch_wal()"</nowiki>'' utasítást és újra áttölteni a helyreállító gépre. |
| * Ha nem hozzuk létre a '' recovery.signal '' állományt, akkor a pg_basebackup állaporta tér vissza és nem foglalkozik a recovery_target_time értékével. | * Ha nem hozzuk létre a '' recovery.signal '' állományt, akkor a pg_basebackup állaporta tér vissza és nem foglalkozik a recovery_target_time értékével. |
| * A recovery_target_action meghatározza, milyen állapotba kerüljön a postgresql a recovery során. | * A recovery_target_action meghatározza, milyen állapotba kerüljön a postgresql a recovery során. |
| ==== Ellenőrzés ==== | ==== Ellenőrzés ==== |
| |
| Ha nincsenek pontos időadatok, akkor a WAL fájlok ellenőrzése lehet a megoldás. Ilyenkor nem a '' recovery_target_time = '' paramétert, hanem a '' recovery_target_lsn = '' paramétert adjuk meg. | Ha nincsenek pontos időadatok, akkor a WAL fájlok ellenőrzése lehet a megoldás. Ilyenkor nem a '' recovery_target_time = '' paramétert, hanem a '' recovery_target_lsn = '' értékét adjuk meg. |
| | |
| | A ''pg_waldump'' program segít az LSN értékének meghatározásában. |
| | |
| | <code> |
| | [root@pg03 ~]# /usr/pgsql-18/bin/pg_waldump /var/lib/pgsql/18/backups/000000010000000000000003 |
| | rmgr: XLOG len (rec/tot): 49/ 1413, tx: 0, lsn: 0/06000028, prev 0/04000158, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/1259 blk 0 FPW |
| | rmgr: Heap len (rec/tot): 54/ 182, tx: 767, lsn: 0/060005B0, prev 0/06000028, desc: INSERT off: 2, flags: 0x00, blkref #0: rel 1663/16385/16386 blk 0 FPW |
| | rmgr: Transaction len (rec/tot): 34/ 34, tx: 767, lsn: 0/06000668, prev 0/060005B0, desc: COMMIT 2026-04-29 13:24:10.043118 CEST |
| | rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/06000690, prev 0/06000668, desc: RUNNING_XACTS nextXid 768 latestCompletedXid 767 oldestRunningXid 768 |
| | rmgr: Heap len (rec/tot): 75/ 75, tx: 768, lsn: 0/060006C8, prev 0/06000690, desc: INSERT off: 3, flags: 0x00, blkref #0: rel 1663/16385/16386 blk 0 |
| | rmgr: Transaction len (rec/tot): 34/ 34, tx: 768, lsn: 0/06000718, prev 0/060006C8, desc: COMMIT 2026-04-29 13:24:26.079630 CEST |
| | rmgr: Heap2 len (rec/tot): 57/ 341, tx: 0, lsn: 0/06000740, prev 0/06000718, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 756, isCatalogRel: F, blkref #0: rel 1663/1/2619 blk 0 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 6637, tx: 0, lsn: 0/06000898, prev 0/06000740, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 1 FPW |
| | rmgr: Heap2 len (rec/tot): 90/ 90, tx: 0, lsn: 0/060022A0, prev 0/06000898, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 757, isCatalogRel: F, nplans: 2, nredirected: 1, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 32799, ntuples: 1, offsets: [30] }, { xmax: 0, infomask: 11011, infomask2: 32799, ntuples: 1, offsets: [31] }], redirected: [27->31], blkref #0: rel 1663/1/2619 blk 1 |
| | rmgr: Heap2 len (rec/tot): 57/ 2293, tx: 0, lsn: 0/06002300, prev 0/060022A0, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 757, isCatalogRel: F, blkref #0: rel 1663/1/2619 blk 2 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 8217, tx: 0, lsn: 0/06002BF8, prev 0/06002300, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 3 FPW |
| | rmgr: Heap2 len (rec/tot): 56/ 56, tx: 0, lsn: 0/06004C30, prev 0/06002BF8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 758, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 1, nunused: 0, dead: [16], blkref #0: rel 1663/1/2619 blk 3 |
| | rmgr: XLOG len (rec/tot): 49/ 8193, tx: 0, lsn: 0/06004C68, prev 0/06004C30, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 5 FPW |
| | rmgr: Heap2 len (rec/tot): 110/ 110, tx: 0, lsn: 0/06006C88, prev 0/06004C68, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 758, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 28, nunused: 0, dead: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], blkref #0: rel 1663/1/2619 blk 5 |
| | rmgr: XLOG len (rec/tot): 49/ 4425, tx: 0, lsn: 0/06006CF8, prev 0/06006C88, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 6 FPW |
| | rmgr: Heap2 len (rec/tot): 106/ 106, tx: 0, lsn: 0/06007E48, prev 0/06006CF8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 3, nredirected: 1, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 32799, ntuples: 1, offsets: [19] }, { xmax: 0, infomask: 11011, infomask2: 32799, ntuples: 2, offsets: [20, 22] }, { xmax: 0, infomask: 11015, infomask2: 32799, ntuples: 1, offsets: [21] }], redirected: [18->22], blkref #0: rel 1663/1/2619 blk 6 |
| | rmgr: XLOG len (rec/tot): 49/ 8225, tx: 0, lsn: 0/06007EB8, prev 0/06007E48, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 7 FPW |
| | rmgr: Heap2 len (rec/tot): 128/ 128, tx: 0, lsn: 0/06009EF8, prev 0/06007EB8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 1, nredirected: 1, ndead: 25, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 32799, ntuples: 1, offsets: [28] }], redirected: [21->28], dead: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26], blkref #0: rel 1663/1/2619 blk 7 |
| | rmgr: XLOG len (rec/tot): 49/ 8177, tx: 0, lsn: 0/06009F78, prev 0/06009EF8, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 8 FPW |
| | rmgr: Heap2 len (rec/tot): 56/ 56, tx: 0, lsn: 0/0600BF88, prev 0/06009F78, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 1, nunused: 0, dead: [1], blkref #0: rel 1663/1/2619 blk 8 |
| | rmgr: XLOG len (rec/tot): 49/ 6861, tx: 0, lsn: 0/0600BFC0, prev 0/0600BF88, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 13 FPW |
| | rmgr: Heap2 len (rec/tot): 106/ 106, tx: 0, lsn: 0/0600DAA8, prev 0/0600BFC0, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 762, isCatalogRel: F, nplans: 2, nredirected: 3, ndead: 1, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 32799, ntuples: 1, offsets: [22] }, { xmax: 0, infomask: 11011, infomask2: 32799, ntuples: 3, offsets: [23, 24, 25] }], redirected: [16->23, 17->24, 18->25], dead: [19], blkref #0: rel 1663/1/2619 blk 13 |
| | rmgr: XLOG len (rec/tot): 49/ 8105, tx: 0, lsn: 0/0600DB18, prev 0/0600DAA8, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 14 FPW |
| | rmgr: Heap2 len (rec/tot): 56/ 56, tx: 0, lsn: 0/0600FAE0, prev 0/0600DB18, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 763, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 1, nunused: 0, dead: [18], blkref #0: rel 1663/1/2619 blk 14 |
| | rmgr: XLOG len (rec/tot): 49/ 8173, tx: 0, lsn: 0/0600FB18, prev 0/0600FAE0, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 15 FPW |
| | rmgr: Heap2 len (rec/tot): 66/ 66, tx: 0, lsn: 0/06011B20, prev 0/0600FB18, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 763, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 6, nunused: 0, dead: [1, 2, 3, 4, 5, 6], blkref #0: rel 1663/1/2619 blk 15 |
| | rmgr: XLOG len (rec/tot): 49/ 8137, tx: 0, lsn: 0/06011B68, prev 0/06011B20, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 16 FPW |
| | rmgr: Heap2 len (rec/tot): 80/ 80, tx: 0, lsn: 0/06013B50, prev 0/06011B68, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 764, isCatalogRel: F, nplans: 1, nredirected: 0, ndead: 4, nunused: 0, plans: [{ xmax: 0, infomask: 11011, infomask2: 31, ntuples: 1, offsets: [36] }], dead: [5, 6, 7, 8], blkref #0: rel 1663/1/2619 blk 16 |
| | rmgr: XLOG len (rec/tot): 49/ 7809, tx: 0, lsn: 0/06013BA0, prev 0/06013B50, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 17 FPW |
| | rmgr: Heap2 len (rec/tot): 134/ 134, tx: 0, lsn: 0/06015A40, prev 0/06013BA0, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 766, isCatalogRel: F, nplans: 2, nredirected: 6, ndead: 3, nunused: 0, plans: [{ xmax: 0, infomask: 11011, infomask2: 31, ntuples: 3, offsets: [15, 16, 17] }, { xmax: 0, infomask: 11011, infomask2: 32799, ntuples: 7, offsets: [18, 19, 20, 21, 22, 23, 24] }], redirected: [6->19, 8->20, 9->21, 10->22, 11->23, 12->24], dead: [7, 13, 14], blkref #0: rel 1663/1/2619 blk 17 |
| | rmgr: XLOG len (rec/tot): 49/ 8197, tx: 0, lsn: 0/06015AC8, prev 0/06015A40, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 18 FPW |
| | rmgr: Heap2 len (rec/tot): 84/ 84, tx: 0, lsn: 0/06017AE8, prev 0/06015AC8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 766, isCatalogRel: F, nplans: 1, nredirected: 0, ndead: 3, nunused: 0, plans: [{ xmax: 0, infomask: 11011, infomask2: 31, ntuples: 4, offsets: [20, 21, 22, 23] }], dead: [1, 2, 3], blkref #0: rel 1663/1/2619 blk 18 |
| | rmgr: XLOG len (rec/tot): 49/ 8213, tx: 0, lsn: 0/06017B40, prev 0/06017AE8, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 19 FPW |
| | rmgr: Heap2 len (rec/tot): 134/ 134, tx: 0, lsn: 0/06019B70, prev 0/06017B40, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 2, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 31, ntuples: 2, offsets: [22, 23] }, { xmax: 0, infomask: 11011, infomask2: 31, ntuples: 25, offsets: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27] }], blkref #0: rel 1663/1/2619 blk 19 |
| | rmgr: Heap2 len (rec/tot): 64/ 8256, tx: 0, lsn: 0/06019BF8, prev 0/06019B70, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0 FPW, blkref #1: rel 1663/1/2619 blk 19 |
| | rmgr: XLOG len (rec/tot): 49/ 8209, tx: 0, lsn: 0/0601BC50, prev 0/06019BF8, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 20 FPW |
| | rmgr: Heap2 len (rec/tot): 144/ 144, tx: 0, lsn: 0/0601DC80, prev 0/0601BC50, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 758, isCatalogRel: F, nplans: 3, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 31, ntuples: 4, offsets: [20, 22, 23, 24] }, { xmax: 0, infomask: 11011, infomask2: 31, ntuples: 21, offsets: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 25, 26] }, { xmax: 0, infomask: 11015, infomask2: 31, ntuples: 1, offsets: [1] }], blkref #0: rel 1663/1/2619 blk 20 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0601DD10, prev 0/0601DC80, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 20 |
| | rmgr: XLOG len (rec/tot): 49/ 8089, tx: 0, lsn: 0/0601DD50, prev 0/0601DD10, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 21 FPW |
| | rmgr: Heap2 len (rec/tot): 132/ 132, tx: 0, lsn: 0/0601FD08, prev 0/0601DD50, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 1, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11011, infomask2: 31, ntuples: 32, offsets: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] }], blkref #0: rel 1663/1/2619 blk 21 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0601FD90, prev 0/0601FD08, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 21 |
| | rmgr: XLOG len (rec/tot): 49/ 8213, tx: 0, lsn: 0/0601FDD0, prev 0/0601FD90, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 22 FPW |
| | rmgr: Heap2 len (rec/tot): 130/ 130, tx: 0, lsn: 0/06021E00, prev 0/0601FDD0, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 760, isCatalogRel: F, nplans: 3, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 31, ntuples: 1, offsets: [5] }, { xmax: 0, infomask: 11011, infomask2: 31, ntuples: 17, offsets: [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] }, { xmax: 0, infomask: 11015, infomask2: 31, ntuples: 1, offsets: [2] }], blkref #0: rel 1663/1/2619 blk 22 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/06021E88, prev 0/06021E00, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 22 |
| | rmgr: XLOG len (rec/tot): 49/ 8041, tx: 0, lsn: 0/06021EC8, prev 0/06021E88, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 23 FPW |
| | rmgr: Heap2 len (rec/tot): 124/ 124, tx: 0, lsn: 0/06023E50, prev 0/06021EC8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 763, isCatalogRel: F, nplans: 3, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 31, ntuples: 5, offsets: [2, 3, 4, 5, 6] }, { xmax: 0, infomask: 11011, infomask2: 31, ntuples: 10, offsets: [1, 7, 8, 9, 10, 11, 12, 13, 14, 16] }, { xmax: 0, infomask: 11015, infomask2: 31, ntuples: 1, offsets: [15] }], blkref #0: rel 1663/1/2619 blk 23 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/06023ED0, prev 0/06023E50, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 23 |
| | rmgr: XLOG len (rec/tot): 49/ 7721, tx: 0, lsn: 0/06023F10, prev 0/06023ED0, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 24 FPW |
| | rmgr: Heap2 len (rec/tot): 96/ 96, tx: 0, lsn: 0/06025D58, prev 0/06023F10, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 765, isCatalogRel: F, nplans: 1, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11011, infomask2: 31, ntuples: 14, offsets: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] }], blkref #0: rel 1663/1/2619 blk 24 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/06025DB8, prev 0/06025D58, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 24 |
| | rmgr: XLOG len (rec/tot): 49/ 5193, tx: 0, lsn: 0/06025DF8, prev 0/06025DB8, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 blk 25 FPW |
| | rmgr: Heap2 len (rec/tot): 92/ 92, tx: 0, lsn: 0/06027260, prev 0/06025DF8, desc: PRUNE_VACUUM_SCAN snapshotConflictHorizon: 766, isCatalogRel: F, nplans: 2, nredirected: 0, ndead: 0, nunused: 0, plans: [{ xmax: 0, infomask: 11009, infomask2: 31, ntuples: 1, offsets: [5] }, { xmax: 0, infomask: 11011, infomask2: 31, ntuples: 5, offsets: [1, 2, 3, 4, 6] }], blkref #0: rel 1663/1/2619 blk 25 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/060272C0, prev 0/06027260, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 25 |
| | rmgr: XLOG len (rec/tot): 49/ 8241, tx: 0, lsn: 0/06027300, prev 0/060272C0, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 fork fsm blk 2 FPW |
| | rmgr: Btree len (rec/tot): 55/ 3435, tx: 0, lsn: 0/06029350, prev 0/06027300, desc: VACUUM ndeleted: 0, nupdated: 46, blkref #0: rel 1663/1/2696 blk 1 FPW |
| | rmgr: Btree len (rec/tot): 55/ 1075, tx: 0, lsn: 0/0602A0D8, prev 0/06029350, desc: VACUUM ndeleted: 9, nupdated: 0, blkref #0: rel 1663/1/2696 blk 2 FPW |
| | rmgr: Btree len (rec/tot): 55/ 4055, tx: 0, lsn: 0/0602A510, prev 0/0602A0D8, desc: VACUUM ndeleted: 43, nupdated: 8, blkref #0: rel 1663/1/2696 blk 4 FPW |
| | rmgr: Heap2 len (rec/tot): 86/ 86, tx: 0, lsn: 0/0602B4E8, prev 0/0602A510, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 18, unused: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], blkref #0: rel 1663/1/2619 blk 0 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B540, prev 0/0602B4E8, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 0 |
| | rmgr: Heap2 len (rec/tot): 76/ 76, tx: 0, lsn: 0/0602B580, prev 0/0602B540, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 13, unused: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], blkref #0: rel 1663/1/2619 blk 1 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B5D0, prev 0/0602B580, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 1 |
| | rmgr: Heap2 len (rec/tot): 98/ 98, tx: 0, lsn: 0/0602B610, prev 0/0602B5D0, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 24, unused: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], blkref #0: rel 1663/1/2619 blk 2 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B678, prev 0/0602B610, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 2 |
| | rmgr: Heap2 len (rec/tot): 52/ 52, tx: 0, lsn: 0/0602B6B8, prev 0/0602B678, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 1, unused: [16], blkref #0: rel 1663/1/2619 blk 3 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B6F0, prev 0/0602B6B8, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 3 |
| | rmgr: Heap2 len (rec/tot): 106/ 106, tx: 0, lsn: 0/0602B730, prev 0/0602B6F0, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 28, unused: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], blkref #0: rel 1663/1/2619 blk 5 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B7A0, prev 0/0602B730, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 5 |
| | rmgr: Heap2 len (rec/tot): 68/ 68, tx: 0, lsn: 0/0602B7E0, prev 0/0602B7A0, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 9, unused: [1, 2, 3, 4, 7, 8, 10, 11, 12], blkref #0: rel 1663/1/2619 blk 6 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B828, prev 0/0602B7E0, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 6 |
| | rmgr: Heap2 len (rec/tot): 100/ 100, tx: 0, lsn: 0/0602B868, prev 0/0602B828, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 25, unused: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26], blkref #0: rel 1663/1/2619 blk 7 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B8D0, prev 0/0602B868, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 7 |
| | rmgr: Heap2 len (rec/tot): 52/ 52, tx: 0, lsn: 0/0602B910, prev 0/0602B8D0, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 1, unused: [1], blkref #0: rel 1663/1/2619 blk 8 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B948, prev 0/0602B910, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 8 |
| | rmgr: Heap2 len (rec/tot): 66/ 66, tx: 0, lsn: 0/0602B988, prev 0/0602B948, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 8, unused: [8, 9, 10, 11, 12, 13, 14, 19], blkref #0: rel 1663/1/2619 blk 13 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602B9D0, prev 0/0602B988, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 13 |
| | rmgr: Heap2 len (rec/tot): 52/ 52, tx: 0, lsn: 0/0602BA10, prev 0/0602B9D0, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 1, unused: [18], blkref #0: rel 1663/1/2619 blk 14 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602BA48, prev 0/0602BA10, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 14 |
| | rmgr: Heap2 len (rec/tot): 62/ 62, tx: 0, lsn: 0/0602BA88, prev 0/0602BA48, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 6, unused: [1, 2, 3, 4, 5, 6], blkref #0: rel 1663/1/2619 blk 15 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602BAC8, prev 0/0602BA88, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 15 |
| | rmgr: Heap2 len (rec/tot): 58/ 58, tx: 0, lsn: 0/0602BB08, prev 0/0602BAC8, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 4, unused: [5, 6, 7, 8], blkref #0: rel 1663/1/2619 blk 16 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602BB48, prev 0/0602BB08, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 16 |
| | rmgr: Heap2 len (rec/tot): 64/ 64, tx: 0, lsn: 0/0602BB88, prev 0/0602BB48, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 7, unused: [1, 2, 3, 5, 7, 13, 14], blkref #0: rel 1663/1/2619 blk 17 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602BBC8, prev 0/0602BB88, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 17 |
| | rmgr: Heap2 len (rec/tot): 56/ 56, tx: 0, lsn: 0/0602BC08, prev 0/0602BBC8, desc: PRUNE_VACUUM_CLEANUP , isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 0, nunused: 3, unused: [1, 2, 3], blkref #0: rel 1663/1/2619 blk 18 |
| | rmgr: Heap2 len (rec/tot): 59/ 59, tx: 0, lsn: 0/0602BC40, prev 0/0602BC08, desc: VISIBLE snapshotConflictHorizon: 0, flags: 0x03, blkref #0: rel 1663/1/2619 fork vm blk 0, blkref #1: rel 1663/1/2619 blk 18 |
| | rmgr: XLOG len (rec/tot): 49/ 8241, tx: 0, lsn: 0/0602BC80, prev 0/0602BC40, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 fork fsm blk 1 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 8241, tx: 0, lsn: 0/0602DCD0, prev 0/0602BC80, desc: FPI_FOR_HINT , blkref #0: rel 1663/1/2619 fork fsm blk 0 FPW |
| | rmgr: Heap len (rec/tot): 119/ 8243, tx: 0, lsn: 0/0602FD20, prev 0/0602DCD0, desc: INPLACE off: 38; relcache init file inval dbid 1 tsid 1663; inval msgs: catcache 57 catcache 56 relcache 2696, blkref #0: rel 1663/1/1259 blk 3 FPW |
| | rmgr: Heap len (rec/tot): 119/ 779, tx: 0, lsn: 0/06031D70, prev 0/0602FD20, desc: INPLACE off: 46; relcache init file inval dbid 1 tsid 1663; inval msgs: catcache 57 catcache 56 relcache 2619, blkref #0: rel 1663/1/1259 blk 0 FPW |
| | rmgr: Standby len (rec/tot): 138/ 138, tx: 0, lsn: 0/06032098, prev 0/06031D70, desc: INVALIDATIONS ; relcache init file inval dbid 1 tsid 1663; inval msgs: catcache 57 catcache 56 catcache 57 catcache 56 relcache 2696 relcache 2619 |
| | rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/06032128, prev 0/06032098, desc: RUNNING_XACTS nextXid 769 latestCompletedXid 768 oldestRunningXid 769 |
| | rmgr: Standby len (rec/tot): 42/ 42, tx: 769, lsn: 0/06032160, prev 0/06032128, desc: LOCK xid 769 db 16385 rel 16386 |
| | rmgr: XLOG len (rec/tot): 49/ 6945, tx: 769, lsn: 0/06032190, prev 0/06032160, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/2608 blk 3 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 8233, tx: 769, lsn: 0/06033CB8, prev 0/06032190, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/2608 blk 2 FPW |
| | rmgr: Standby len (rec/tot): 42/ 42, tx: 769, lsn: 0/06035D00, prev 0/06033CB8, desc: LOCK xid 769 db 16385 rel 16389 |
| | rmgr: Standby len (rec/tot): 42/ 42, tx: 769, lsn: 0/06035D30, prev 0/06035D00, desc: LOCK xid 769 db 16385 rel 16390 |
| | rmgr: XLOG len (rec/tot): 49/ 4021, tx: 769, lsn: 0/06035D60, prev 0/06035D30, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/1247 blk 14 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 8013, tx: 769, lsn: 0/06036D30, prev 0/06035D60, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/2610 blk 0 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 8193, tx: 769, lsn: 0/06038C98, prev 0/06036D30, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/1249 blk 16 FPW |
| | rmgr: XLOG len (rec/tot): 49/ 7633, tx: 769, lsn: 0/0603ACB8, prev 0/06038C98, desc: FPI_FOR_HINT , blkref #0: rel 1663/16385/1249 blk 54 FPW |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CAA8, prev 0/0603ACB8, desc: DELETE xmax: 769, off: 36, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2610 blk 0 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CAE0, prev 0/0603CAA8, desc: DELETE xmax: 769, off: 53, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 54 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CB18, prev 0/0603CAE0, desc: DELETE xmax: 769, off: 54, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 54 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CB50, prev 0/0603CB18, desc: DELETE xmax: 769, off: 4, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1259 blk 0 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CB88, prev 0/0603CB50, desc: DELETE xmax: 769, off: 9, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 3 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CBC0, prev 0/0603CB88, desc: DELETE xmax: 769, off: 12, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 3 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CBF8, prev 0/0603CBC0, desc: DELETE xmax: 769, off: 41, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CC30, prev 0/0603CBF8, desc: DELETE xmax: 769, off: 40, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CC68, prev 0/0603CC30, desc: DELETE xmax: 769, off: 39, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CCA0, prev 0/0603CC68, desc: DELETE xmax: 769, off: 38, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CCD8, prev 0/0603CCA0, desc: DELETE xmax: 769, off: 36, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CD10, prev 0/0603CCD8, desc: DELETE xmax: 769, off: 35, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CD48, prev 0/0603CD10, desc: DELETE xmax: 769, off: 32, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CD80, prev 0/0603CD48, desc: DELETE xmax: 769, off: 33, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CDB8, prev 0/0603CD80, desc: DELETE xmax: 769, off: 34, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CDF0, prev 0/0603CDB8, desc: DELETE xmax: 769, off: 3, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1259 blk 0 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CE28, prev 0/0603CDF0, desc: DELETE xmax: 769, off: 15, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 3 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CE60, prev 0/0603CE28, desc: DELETE xmax: 769, off: 21, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1247 blk 14 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CE98, prev 0/0603CE60, desc: DELETE xmax: 769, off: 3, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 3 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CED0, prev 0/0603CE98, desc: DELETE xmax: 769, off: 20, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1247 blk 14 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CF08, prev 0/0603CED0, desc: DELETE xmax: 769, off: 136, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 2 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CF40, prev 0/0603CF08, desc: DELETE xmax: 769, off: 31, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CF78, prev 0/0603CF40, desc: DELETE xmax: 769, off: 30, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CFB0, prev 0/0603CF78, desc: DELETE xmax: 769, off: 29, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603CFE8, prev 0/0603CFB0, desc: DELETE xmax: 769, off: 28, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D020, prev 0/0603CFE8, desc: DELETE xmax: 769, off: 27, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D058, prev 0/0603D020, desc: DELETE xmax: 769, off: 26, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D090, prev 0/0603D058, desc: DELETE xmax: 769, off: 24, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D0C8, prev 0/0603D090, desc: DELETE xmax: 769, off: 25, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1249 blk 16 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D100, prev 0/0603D0C8, desc: DELETE xmax: 769, off: 5, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/1259 blk 0 |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D138, prev 0/0603D100, desc: DELETE xmax: 769, off: 6, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16385/2608 blk 3 |
| | rmgr: XLOG len (rec/tot): 49/ 193, tx: 769, lsn: 0/0603D170, prev 0/0603D138, desc: FPI_FOR_HINT , blkref #0: rel 1664/0/1214 blk 0 FPW |
| | rmgr: Heap len (rec/tot): 54/ 54, tx: 769, lsn: 0/0603D238, prev 0/0603D170, desc: DELETE xmax: 769, off: 2, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1664/0/1214 blk 0 |
| | rmgr: Transaction len (rec/tot): 1089/ 1089, tx: 769, lsn: 0/0603D270, prev 0/0603D238, desc: COMMIT 2026-04-29 13:25:09.539651 CEST; rels: base/16385/16386 base/16385/16389 base/16385/16390; dropped stats: 2/16385/16390 2/16385/16389 2/16385/16386; inval msgs: catcache 34 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 catcache 82 catcache 81 catcache 82 catcache 81 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 relcache 16390 relcache 16389 snapshot 2608 relcache 16389 snapshot 2608 snapshot 2608 snapshot 2608 relcache 16386 snapshot 2608 snapshot 1214 |
| | rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/0603D6B8, prev 0/0603D270, desc: RUNNING_XACTS nextXid 770 latestCompletedXid 769 oldestRunningXid 770 |
| | rmgr: XLOG len (rec/tot): 24/ 24, tx: 0, lsn: 0/0603D6F0, prev 0/0603D6B8, desc: SWITCH |
| | </code> |
| | |
| | ==== Visszaállás megadott LSN-re ==== |
| | |
| | |
| | Hozzá kell adni a ''$PGDATA/postgresql.conf'' VAGY a ''$PGDATA/postgresql.auto.conf'' fájlhoz az helyreállításhoz szükséges adatokat és létre kell hozni a ''$PGDATA/recovery.signal'' állományt. A példában a tábla törlését megelőző pillanatot adtam meg. |
| | |
| | <code> |
| | [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| | |
| | [root@pg03 ~]# export RECOVERY_LSN='0/0603CAA8' |
| | |
| | |
| | [root@pg03 ~]# cat >>/var/lib/pgsql/18/data/postgresql.auto.conf <<EOF |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| | restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' |
| | recovery_target_lsn = '$RECOVERY_LSN' |
| | recovery_target_action = 'promote' |
| | EOF |
| | |
| | [root@pg03 ~]# cat /var/lib/pgsql/18/data/postgresql.auto.conf |
| | # Do not edit this file manually! |
| | # It will be overwritten by the ALTER SYSTEM command. |
| | restore_command = 'cp /var/lib/pgsql/18/backups/%f %p' |
| | recovery_target_lsn = '0/0603CAA8' |
| | recovery_target_action = 'promote' |
| | |
| | [root@pg03 ~]# touch /var/lib/pgsql/18/data/recovery.signal |
| | |
| | [root@pg03 ~]# chown -R postgres:postgres /var/lib/pgsql/18/data/ |
| | </code> |
| | |
| | Adatbázis kezelő indítása |
| | |
| | <code> |
| | [root@pg03 ~]# systemctl restart postgresql-18 |
| | </code> |
| | |
| | Adatok ellenőrzése |
| | |
| | <code> |
| | [root@pg03 ~]# psql -U test -d test -c "SELECT * FROM test" |
| | id | data |
| | ----+-------------- |
| | 1 | backup előtt |
| | 2 | backup után |
| | 3 | törlés előtt |
| | (3 rows) |
| | |
| | </code> |
| | |
| | ===== WAL állományok ellenőrzése ===== |
| | |
| | A WAL ellenőrzése kritikus a sikeres helyreállításhoz. Az alábbi lépések segítségével meggyőződhetünk arról, hogy helyreállítható-e a rendszer. |
| |
| A ''pg_waldump'' program segít | Archiver állapotának lekérdezése. |
| |
| <code> | <code> |
| [postgres@pg01 data]$ /usr/pgsql-18/bin/pg_waldump /var/lib/pgsql/18/backups/000000010000000000000010 | [root@pg01 ~]# psql -U postgres -x -c "SELECT archived_count, last_archived_wal, last_archived_time, failed_count, last_failed_wal, last_failed_time FROM pg_stat_archiver" |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/10000028, prev 0/0F000158, desc: RUNNING_XACTS nextXid 782 latestCompletedXid 781 oldestRunningXid 782 | -[ RECORD 1 ]------+------------------------------ |
| rmgr: Heap len (rec/tot): 54/ 182, tx: 782, lsn: 0/10000060, prev 0/10000028, desc: INSERT off: 2, flags: 0x00, blkref #0: rel 1663/16396/16402 blk 0 FPW | archived_count | 4 |
| rmgr: Transaction len (rec/tot): 34/ 34, tx: 782, lsn: 0/10000118, prev 0/10000060, desc: COMMIT 2026-04-22 04:08:32.694902 CEST | last_archived_wal | 000000010000000000000003 |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/10000140, prev 0/10000118, desc: RUNNING_XACTS nextXid 783 latestCompletedXid 782 oldestRunningXid 783 | last_archived_time | 2026-04-29 13:26:05.951808+02 |
| rmgr: Heap len (rec/tot): 75/ 75, tx: 783, lsn: 0/10000178, prev 0/10000140, desc: INSERT off: 3, flags: 0x00, blkref #0: rel 1663/16396/16402 blk 0 | failed_count | 0 |
| rmgr: Transaction len (rec/tot): 34/ 34, tx: 783, lsn: 0/100001C8, prev 0/10000178, desc: COMMIT 2026-04-22 04:09:03.049934 CEST | last_failed_wal | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/100001F0, prev 0/100001C8, desc: RUNNING_XACTS nextXid 784 latestCompletedXid 783 oldestRunningXid 784 | last_failed_time | |
| rmgr: Standby len (rec/tot): 42/ 42, tx: 784, lsn: 0/10000228, prev 0/100001F0, desc: LOCK xid 784 db 16396 rel 16402 | |
| rmgr: XLOG len (rec/tot): 49/ 7753, tx: 784, lsn: 0/10000258, prev 0/10000228, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/2608 blk 12 FPW | |
| rmgr: Standby len (rec/tot): 42/ 42, tx: 784, lsn: 0/100020C0, prev 0/10000258, desc: LOCK xid 784 db 16396 rel 16405 | |
| rmgr: Standby len (rec/tot): 42/ 42, tx: 784, lsn: 0/100020F0, prev 0/100020C0, desc: LOCK xid 784 db 16396 rel 16406 | |
| rmgr: XLOG len (rec/tot): 49/ 4397, tx: 784, lsn: 0/10002120, prev 0/100020F0, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/1247 blk 14 FPW | |
| rmgr: XLOG len (rec/tot): 49/ 8221, tx: 784, lsn: 0/10003250, prev 0/10002120, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/2610 blk 1 FPW | |
| rmgr: XLOG len (rec/tot): 49/ 2173, tx: 784, lsn: 0/10005288, prev 0/10003250, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/1249 blk 55 FPW | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10005B08, prev 0/10005288, desc: DELETE xmax: 784, off: 1, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2610 blk 1 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10005B40, prev 0/10005B08, desc: DELETE xmax: 784, off: 14, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10005B78, prev 0/10005B40, desc: DELETE xmax: 784, off: 15, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 59/ 7959, tx: 784, lsn: 0/10005BB0, prev 0/10005B78, desc: DELETE xmax: 784, off: 40, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1259 blk 15 FPW | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007AE0, prev 0/10005BB0, desc: DELETE xmax: 784, off: 126, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007B18, prev 0/10007AE0, desc: DELETE xmax: 784, off: 127, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: Standby len (rec/tot): 66/ 66, tx: 0, lsn: 0/10007B50, prev 0/10007B18, desc: LOCK xid 784 db 16396 rel 16402 xid 784 db 16396 rel 16405 xid 784 db 16396 rel 16406 | |
| rmgr: Standby len (rec/tot): 54/ 54, tx: 0, lsn: 0/10007B98, prev 0/10007B50, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 783 oldestRunningXid 784; 1 xacts: 784 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007BD0, prev 0/10007B98, desc: DELETE xmax: 784, off: 13, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007C08, prev 0/10007BD0, desc: DELETE xmax: 784, off: 12, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007C40, prev 0/10007C08, desc: DELETE xmax: 784, off: 11, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007C78, prev 0/10007C40, desc: DELETE xmax: 784, off: 10, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007CB0, prev 0/10007C78, desc: DELETE xmax: 784, off: 9, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007CE8, prev 0/10007CB0, desc: DELETE xmax: 784, off: 8, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007D20, prev 0/10007CE8, desc: DELETE xmax: 784, off: 5, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007D58, prev 0/10007D20, desc: DELETE xmax: 784, off: 6, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007D90, prev 0/10007D58, desc: DELETE xmax: 784, off: 7, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007DC8, prev 0/10007D90, desc: DELETE xmax: 784, off: 39, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1259 blk 15 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007E00, prev 0/10007DC8, desc: DELETE xmax: 784, off: 128, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007E38, prev 0/10007E00, desc: DELETE xmax: 784, off: 23, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1247 blk 14 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007E70, prev 0/10007E38, desc: DELETE xmax: 784, off: 124, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007EA8, prev 0/10007E70, desc: DELETE xmax: 784, off: 22, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1247 blk 14 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007EE0, prev 0/10007EA8, desc: DELETE xmax: 784, off: 123, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007F18, prev 0/10007EE0, desc: DELETE xmax: 784, off: 4, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007F50, prev 0/10007F18, desc: DELETE xmax: 784, off: 3, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007F88, prev 0/10007F50, desc: DELETE xmax: 784, off: 2, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10007FC0, prev 0/10007F88, desc: DELETE xmax: 784, off: 1, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 55 | |
| rmgr: XLOG len (rec/tot): 49/ 7921, tx: 784, lsn: 0/10007FF8, prev 0/10007FC0, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/1249 blk 54 FPW | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10009F08, prev 0/10007FF8, desc: DELETE xmax: 784, off: 58, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 54 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10009F40, prev 0/10009F08, desc: DELETE xmax: 784, off: 57, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 54 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10009F78, prev 0/10009F40, desc: DELETE xmax: 784, off: 55, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 54 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10009FB0, prev 0/10009F78, desc: DELETE xmax: 784, off: 56, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1249 blk 54 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/10009FE8, prev 0/10009FB0, desc: DELETE xmax: 784, off: 41, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/1259 blk 15 | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/1000A038, prev 0/10009FE8, desc: DELETE xmax: 784, off: 125, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1663/16396/2608 blk 12 | |
| rmgr: XLOG len (rec/tot): 49/ 373, tx: 784, lsn: 0/1000A070, prev 0/1000A038, desc: FPI_FOR_HINT , blkref #0: rel 1664/0/1214 blk 0 FPW | |
| rmgr: Heap len (rec/tot): 54/ 54, tx: 784, lsn: 0/1000A1E8, prev 0/1000A070, desc: DELETE xmax: 784, off: 5, infobits: [KEYS_UPDATED], flags: 0x00, blkref #0: rel 1664/0/1214 blk 0 | |
| rmgr: Transaction len (rec/tot): 1089/ 1089, tx: 784, lsn: 0/1000A220, prev 0/1000A1E8, desc: COMMIT 2026-04-22 04:09:58.572915 CEST; rels: base/16396/16402 base/16396/16405 base/16396/16406; dropped stats: 2/16396/16406 2/16396/16405 2/16396/16402; inval msgs: catcache 34 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 catcache 82 catcache 81 catcache 82 catcache 81 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 57 catcache 56 relcache 16406 relcache 16405 snapshot 2608 relcache 16405 snapshot 2608 snapshot 2608 snapshot 2608 relcache 16402 snapshot 2608 snapshot 1214 | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/1000A668, prev 0/1000A220, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 784 oldestRunningXid 785 | |
| rmgr: Heap2 len (rec/tot): 64/ 64, tx: 0, lsn: 0/1000A6A0, prev 0/1000A668, desc: PRUNE_ON_ACCESS snapshotConflictHorizon: 784, isCatalogRel: F, nplans: 0, nredirected: 0, ndead: 3, nunused: 1, dead: [38, 39, 40], unused: [41], blkref #0: rel 1663/16396/1259 blk 15 | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/1000A6E0, prev 0/1000A6A0, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 784 oldestRunningXid 785 | |
| rmgr: XLOG len (rec/tot): 49/ 6769, tx: 0, lsn: 0/1000A718, prev 0/1000A6E0, desc: FPI_FOR_HINT , blkref #0: rel 1663/16396/2663 blk 2 FPW | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/1000C1A8, prev 0/1000A718, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 784 oldestRunningXid 785 | |
| rmgr: XLOG len (rec/tot): 30/ 30, tx: 0, lsn: 0/1000C1E0, prev 0/1000C1A8, desc: CHECKPOINT_REDO wal_level replica | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/1000C200, prev 0/1000C1E0, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 784 oldestRunningXid 785 | |
| rmgr: XLOG len (rec/tot): 114/ 114, tx: 0, lsn: 0/1000C238, prev 0/1000C200, desc: CHECKPOINT_ONLINE redo 0/1000C1E0; tli 1; prev tli 1; fpw true; wal_level replica; xid 0:785; oid 24594; multi 1; offset 0; oldest xid 722 in DB 1; oldest multi 1 in DB 4; oldest/newest commit timestamp xid: 0/0; oldest running xid 785; online | |
| rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 0/1000C2B0, prev 0/1000C238, desc: RUNNING_XACTS nextXid 785 latestCompletedXid 784 oldestRunningXid 785 | |
| rmgr: XLOG len (rec/tot): 24/ 24, tx: 0, lsn: 0/1000C2E8, prev 0/1000C2B0, desc: SWITCH | |
| </code> | </code> |
| |
| | A ''000000010000000000000003'' előtti fájlokra nincs szükség amennyiben a legutóbbi ''pg_basebackup'' futtatása utáni állapotra kell visszaállni. |