summaryrefslogtreecommitdiff
path: root/expected/toast.out
blob: 0e90b4274d8c826b697ad3c2659320cb2d2225bf (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
-- PG14+ output in toast.out/_3.out (32-bit); PG13- output in toast_1.out/_4.out
create table toast (
    description text,
    data text
);
insert into toast values ('short inline', 'xxx');
insert into toast values ('long inline uncompressed', repeat('x', 200));
alter table toast alter column data set storage external;
insert into toast values ('external uncompressed', repeat('0123456789 8< ', 200));
alter table toast alter column data set storage extended;
insert into toast values ('inline compressed pglz', repeat('0123456789 8< ', 200));
insert into toast values ('extended compressed pglz', repeat('0123456789 8< ', 20000));
alter table toast alter column data set compression lz4;
insert into toast values ('inline compressed lz4', repeat('0123456789 8< ', 200));
insert into toast values ('extended compressed lz4', repeat('0123456789 8< ', 50000));
vacuum toast;
checkpoint;
-- copy tables where client can read it
\set relname 'toast'
select oid as datoid from pg_database where datname = current_database() \gset
select relfilenode, reltoastrelid from pg_class where relname = :'relname' \gset
select lo_import(format('base/%s/%s', :'datoid', :'relfilenode')) as loid \gset
\set output :relname '.heap'
\lo_export :loid :output
select lo_import(format('base/%s/%s', :'datoid', :'reltoastrelid')) as toast_loid \gset
\set output :reltoastrelid
\lo_export :toast_loid :output
\setenv relname :relname
\! pg_filedump -D text,text $relname.heap | ./sed.sh

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility
*
* File: toast.heap
* Options used: -D text,text
*******************************************************************

Block    0 ********************************************************
<Header> -----
 Block Offset: 0x00000000         Offsets: Lower      52 (0x0034)
 Block: Size 8192  Version    4            Upper    7472 (0x1d30)
 LSN:  logid ...... recoff 0x........      Special  8192 (0x2000)
 Items:    7                      Free Space: 7420
 Checksum: 0x....  Prune XID: 0x00000000  Flags: 0x0004 (ALL_VISIBLE)
 Length (including item array): 52

<Data> -----
 Item   1 -- Length:   41  Offset: 8144 (0x1fd0)  Flags: NORMAL
COPY: short inline	xxx
 Item   2 -- Length:  256  Offset: 7888 (0x1ed0)  Flags: NORMAL
COPY: long inline uncompressed	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 Item   3 -- Length:   64  Offset: 7824 (0x1e90)  Flags: NORMAL
COPY: external uncompressed	(TOASTED,uncompressed)
 Item   4 -- Length:  107  Offset: 7712 (0x1e20)  Flags: NORMAL
COPY: inline compressed pglz	0123456789 8< [snipped]
 Item   5 -- Length:   67  Offset: 7640 (0x1dd8)  Flags: NORMAL
COPY: extended compressed pglz	(TOASTED,pglz)
 Item   6 -- Length:   90  Offset: 7544 (0x1d78)  Flags: NORMAL
COPY: inline compressed lz4	0123456789 8< [snipped]
 Item   7 -- Length:   66  Offset: 7472 (0x1d30)  Flags: NORMAL
COPY: extended compressed lz4	(TOASTED,lz4)


*** End of File Encountered. Last Block Read: 0 ***
\! pg_filedump -D text,text -t $relname.heap | ./sed.sh

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility
*
* File: toast.heap
* Options used: -D text,text -t
*******************************************************************

Block    0 ********************************************************
<Header> -----
 Block Offset: 0x00000000         Offsets: Lower      52 (0x0034)
 Block: Size 8192  Version    4            Upper    7472 (0x1d30)
 LSN:  logid ...... recoff 0x........      Special  8192 (0x2000)
 Items:    7                      Free Space: 7420
 Checksum: 0x....  Prune XID: 0x00000000  Flags: 0x0004 (ALL_VISIBLE)
 Length (including item array): 52

<Data> -----
 Item   1 -- Length:   41  Offset: 8144 (0x1fd0)  Flags: NORMAL
COPY: short inline	xxx
 Item   2 -- Length:  256  Offset: 7888 (0x1ed0)  Flags: NORMAL
COPY: long inline uncompressed	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 Item   3 -- Length:   64  Offset: 7824 (0x1e90)  Flags: NORMAL
  TOAST value. Raw size:     2804, external size:     2800, value id: ......, toast relation id: ......, chunks:      2
COPY: external uncompressed	0123456789 8< [snipped]
 Item   4 -- Length:  107  Offset: 7712 (0x1e20)  Flags: NORMAL
COPY: inline compressed pglz	0123456789 8< [snipped]
 Item   5 -- Length:   67  Offset: 7640 (0x1dd8)  Flags: NORMAL
  TOAST value. Raw size:   280004, external size:     3226, value id: ......, toast relation id: ......, chunks:      2
COPY: extended compressed pglz	0123456789 8< [snipped]
 Item   6 -- Length:   90  Offset: 7544 (0x1d78)  Flags: NORMAL
COPY: inline compressed lz4	0123456789 8< [snipped]
 Item   7 -- Length:   66  Offset: 7472 (0x1d30)  Flags: NORMAL
  TOAST value. Raw size:   700004, external size:     2772, value id: ......, toast relation id: ......, chunks:      2
COPY: extended compressed lz4	0123456789 8< [snipped]


*** End of File Encountered. Last Block Read: 0 ***