@@ -122,33 +122,54 @@ DROP TABLE test_logical_replication;
122
122
-- test toast interactions
123
123
--
124
124
-- row table with data in different storage formats
125
- CREATE TABLE test_toast_row(plain TEXT, main TEXT, external TEXT, extended TEXT);
125
+ CREATE TABLE test_toast_row(
126
+ plain TEXT STORAGE plain,
127
+ main_pglz TEXT STORAGE main COMPRESSION pglz,
128
+ main_lz4 TEXT STORAGE main COMPRESSION lz4,
129
+ external TEXT STORAGE external,
130
+ extended_pglz TEXT STORAGE extended COMPRESSION pglz,
131
+ extended_lz4 TEXT STORAGE extended COMPRESSION lz4
132
+ );
126
133
ALTER TABLE test_toast_row ALTER COLUMN plain SET STORAGE plain; -- inline, uncompressed
127
- ALTER TABLE test_toast_row ALTER COLUMN main SET STORAGE main; -- inline, compressed
134
+ ALTER TABLE test_toast_row ALTER COLUMN main_pglz SET STORAGE main; -- inline, compressed using pglz
135
+ ALTER TABLE test_toast_row ALTER COLUMN main_lz4 SET STORAGE main; -- inline, compressed using lz4
128
136
ALTER TABLE test_toast_row ALTER COLUMN external SET STORAGE external; -- out-of-line, uncompressed
129
- ALTER TABLE test_toast_row ALTER COLUMN extended SET STORAGE extended; -- out-of-line, compressed
137
+ ALTER TABLE test_toast_row ALTER COLUMN extended_pglz SET STORAGE extended; -- out-of-line, compressed using pglz
138
+ ALTER TABLE test_toast_row ALTER COLUMN extended_lz4 SET STORAGE extended; -- out-of-line, compressed using lz4
130
139
INSERT INTO test_toast_row VALUES(
131
- repeat('w', 5000), repeat('x', 5000), repeat('y', 5000), repeat('z', 5000));
140
+ repeat('u', 5000), repeat('v', 5000), repeat('w', 5000),
141
+ repeat('x', 5000), repeat('y', 5000), repeat('z', 5000)
142
+ );
132
143
SELECT
133
- pg_column_size(plain), pg_column_size(main),
134
- pg_column_size(external), pg_column_size(extended)
144
+ pg_column_size(plain) AS plain,
145
+ pg_column_size(main_pglz) as main_pglz,
146
+ pg_column_size(main_lz4) as main_lz4,
147
+ pg_column_size(external) as external,
148
+ pg_column_size(extended_pglz) as extended_pglz,
149
+ pg_column_size(extended_lz4) as extended_lz4
135
150
FROM test_toast_row;
136
- pg_column_size | pg_column_size | pg_column_size | pg_column_size
151
+ plain | main_pglz | main_lz4 | external | extended_pglz | extended_lz4
137
152
---------------------------------------------------------------------
138
- 5004 | 69 | 5000 | 65
153
+ 5004 | 69 | 38 | 5000 | 65 | 34
139
154
(1 row)
140
155
141
- CREATE TABLE test_toast_columnar(plain TEXT, main TEXT, external TEXT, extended TEXT)
156
+ CREATE TABLE test_toast_columnar(plain TEXT, main_pglz TEXT, main_lz4 TEXT,
157
+ external TEXT, extended_pglz TEXT, extended_lz4 TEXT)
142
158
USING columnar;
143
- INSERT INTO test_toast_columnar SELECT plain, main, external, extended
159
+ INSERT INTO test_toast_columnar
160
+ SELECT plain, main_pglz, main_lz4, external, extended_pglz, extended_lz4
144
161
FROM test_toast_row;
145
162
SELECT
146
- pg_column_size(plain), pg_column_size(main),
147
- pg_column_size(external), pg_column_size(extended)
163
+ pg_column_size(plain) AS plain,
164
+ pg_column_size(main_pglz) as main_pglz,
165
+ pg_column_size(main_lz4) as main_lz4,
166
+ pg_column_size(external) as external,
167
+ pg_column_size(extended_pglz) as extended_pglz,
168
+ pg_column_size(extended_lz4) as extended_lz4
148
169
FROM test_toast_columnar;
149
- pg_column_size | pg_column_size | pg_column_size | pg_column_size
170
+ plain | main_pglz | main_lz4 | external | extended_pglz | extended_lz4
150
171
---------------------------------------------------------------------
151
- 5004 | 5004 | 5004 | 5004
172
+ 5004 | 5004 | 5004 | 5004 | 5004 | 5004
152
173
(1 row)
153
174
154
175
select
0 commit comments