/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
contrib/pg_freespacemap/sql/pg_freespacemap.sql
32 строки
1 KB
Michael Paquier
Add some basic regression tests for pg_freespacemap
24 мар 2022, 03:36
24 мар 2022, 03:36
a1bc4d3
Код
Авторство
О чём код?
CREATE EXTENSION pg_freespacemap; CREATE TABLE freespace_tab (c1 int) WITH (autovacuum_enabled = off); CREATE INDEX freespace_brin ON freespace_tab USING brin (c1); CREATE INDEX freespace_btree ON freespace_tab USING btree (c1); CREATE INDEX freespace_hash ON freespace_tab USING hash (c1); -- report all the sizes of the FSMs for all the relation blocks. WITH rel AS (SELECT oid::regclass AS id FROM pg_class WHERE relname ~ 'freespace') SELECT rel.id, fsm.blkno, (fsm.avail > 0) AS is_avail FROM rel, LATERAL pg_freespace(rel.id) AS fsm ORDER BY 1, 2; INSERT INTO freespace_tab VALUES (1); VACUUM freespace_tab; WITH rel AS (SELECT oid::regclass AS id FROM pg_class WHERE relname ~ 'freespace') SELECT rel.id, fsm.blkno, (fsm.avail > 0) AS is_avail FROM rel, LATERAL pg_freespace(rel.id) AS fsm ORDER BY 1, 2; DELETE FROM freespace_tab; VACUUM freespace_tab; WITH rel AS (SELECT oid::regclass AS id FROM pg_class WHERE relname ~ 'freespace') SELECT rel.id, fsm.blkno, (fsm.avail > 0) AS is_avail FROM rel, LATERAL pg_freespace(rel.id) AS fsm ORDER BY 1, 2; -- failures with incorrect block number SELECT * FROM pg_freespace('freespace_tab', -1); SELECT * FROM pg_freespace('freespace_tab', 4294967295); DROP TABLE freespace_tab;