-- utilisateur postgres, nous creons une "grosse" table dans la base postgres
psql -p 5432
CREATE SCHEMA postgres;
CREATE SCHEMA
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION
create table geants as with recursive serie(i) as (select 550000 UNION ALL select i - 1 from serie where i > 100001) select 550001 - i idg, uuid_generate_v4() idgu, current_timestamp - (ceil(i/3) || ' minutes')::interval + (trunc(random() * 100 + 1) || ' days')::interval dtn, 200 + (trunc(random() * 200 + 1)) taille, upper(md5(random()::text)) devise, case when random() < 0.001 then true else false end berserk from serie;
SELECT 450000
commit;
COMMIT
-- utilisateur postgres, corruption de cette table (methode Greg Sabino Mullane)
cd /var/lib/postgresql/11/apptra001/base/13101/
ls -ltr
...
-rw------- 1 postgres postgres 49152000 juil. 25 16:09 16601
echo -n "Shuriken!" | dd conv=notrunc oflag=seek_bytes seek=20 bs=9 count=1 of=16601
1+0 enregistrements lus
1+0 enregistrements écrits
9 octets copiés, 0,000447296 s, 20,1 kB/s
-- utilisateur postgres, sauvegarde du cluster apptra001
pgbackrest --compress-level=1 --process-max=4 --type=full --stanza=apptra001 backup
WARN: invalid page checksum found in file /var/lib/postgresql/11/apptra001/base/13101/16601 at page 0
echo $?
0
/usr/lib/postgresql/11/bin/pg_checksums -c /var/lib/postgresql/11/apptra001
pg_checksums: checksum verification failed in file "/var/lib/postgresql/11/apptra001/base/13101/16601", block 0: calculated checksum 4928 but expected 9924
Checksum scan completed
Files scanned: 1326
Blocks scanned: 10073
Blocks skipped: 6
Bad checksums: 1
Data checksum version: 1
echo $?
1