-- Check whether any of our opclasses fail amvalidate SELECT amname, opcname FROM pg_opclass opc LEFTJOIN pg_am am ON am.oid = opcmethod WHERE opc.oid >= 16384ANDNOT amvalidate(opc.oid);
-- Check that the hash_ltree() and hash_ltree_extended() function's lower -- 32 bits match when the seed is 0 and do not match when the seed != 0 SELECT v as value, hash_ltree(v)::bit(32) as standard,
hash_ltree_extended(v, 0)::bit(32) as extended0,
hash_ltree_extended(v, 1)::bit(32) as extended1 FROM (VALUES (NULL::ltree), (''::ltree), ('0'::ltree), ('0.1'::ltree),
('0.1.2'::ltree), ('0'::ltree), ('0_asd.1_ASD'::ltree)) x(v) WHERE hash_ltree(v)::bit(32) != hash_ltree_extended(v, 0)::bit(32) OR hash_ltree(v)::bit(32) = hash_ltree_extended(v, 1)::bit(32);
SELECT * FROM ltreetest WHERE t < '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t <= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t = '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t >= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t > '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t @> '1.1.1'orderby t asc; SELECT * FROM ltreetest WHERE t <@ '1.1.1'orderby t asc; SELECT * FROM ltreetest WHERE t @ '23 & 1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '1.1.1.*'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '*.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*{1}.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*.2'orderby t asc; SELECT * FROM ltreetest WHERE t ? '{23.*.1,23.*.2}'orderby t asc;
createuniqueindex tstidx on ltreetest (t); set enable_seqscan=off;
SELECT * FROM ltreetest WHERE t < '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t <= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t = '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t >= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t > '12.3'orderby t asc;
dropindex tstidx; createindex tstidx on ltreetest using gist (t); set enable_seqscan=off;
SELECT * FROM ltreetest WHERE t < '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t <= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t = '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t >= '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t > '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t @> '1.1.1'orderby t asc; SELECT * FROM ltreetest WHERE t <@ '1.1.1'orderby t asc; SELECT * FROM ltreetest WHERE t @ '23 & 1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '1.1.1.*'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '*.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*{1}.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*.1'orderby t asc; SELECT * FROM ltreetest WHERE t ~ '23.*.2'orderby t asc; SELECT * FROM ltreetest WHERE t ? '{23.*.1,23.*.2}'orderby t asc;
dropindex tstidx;
--- test hash index
createindex tstidx on ltreetest using hash (t); set enable_seqscan=off; set enable_bitmapscan=off;
EXPLAIN (COSTS OFF) SELECT * FROM ltreetest WHERE t = '12.3'orderby t asc; SELECT * FROM ltreetest WHERE t = '12.3'orderby t asc;
reset enable_seqscan;
reset enable_bitmapscan;
-- test hash aggregate
set enable_hashagg=on; set enable_sort=off;
EXPLAIN (COSTS OFF) SELECT count(*) FROM ( SELECT t FROM (SELECT * FROM ltreetest UNIONALLSELECT * FROM ltreetest) t1 GROUPBY t
) t2;
SELECT count(*) FROM ( SELECT t FROM (SELECT * FROM ltreetest UNIONALLSELECT * FROM ltreetest) t1 GROUPBY t
) t2;
reset enable_hashagg;
reset enable_sort;
dropindex tstidx;
-- test gist index
createindex tstidx on ltreetest using gist (t gist_ltree_ops(siglen=0)); createindex tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2025)); createindex tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2028)); createindex tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2019)); createindex tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2024));
SELECT count(*) FROM ltreetest WHERE t < '12.3'; SELECT count(*) FROM ltreetest WHERE t <= '12.3'; SELECT count(*) FROM ltreetest WHERE t = '12.3'; SELECT count(*) FROM ltreetest WHERE t >= '12.3'; SELECT count(*) FROM ltreetest WHERE t > '12.3'; SELECT count(*) FROM ltreetest WHERE t @> '1.1.1'; SELECT count(*) FROM ltreetest WHERE t <@ '1.1.1'; SELECT count(*) FROM ltreetest WHERE t @ '23 & 1'; SELECT count(*) FROM ltreetest WHERE t ~ '1.1.1.*'; SELECT count(*) FROM ltreetest WHERE t ~ '*.1'; SELECT count(*) FROM ltreetest WHERE t ~ '23.*{1}.1'; SELECT count(*) FROM ltreetest WHERE t ~ '23.*.1'; SELECT count(*) FROM ltreetest WHERE t ~ '23.*.2'; SELECT count(*) FROM ltreetest WHERE t ? '{23.*.1,23.*.2}';
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ; SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ; SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
createindex _tstidx on _ltreetest using gist (t); set enable_seqscan=off;
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ; SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ; SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
dropindex _tstidx; createindex _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=0)); createindex _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=2025)); createindex _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=2024));
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ; SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ; SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ; SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ; SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
-- test non-error-throwing input
SELECT str as"value", typ as"type",
pg_input_is_valid(str,typ) as ok,
errinfo.sql_error_code,
errinfo.message,
errinfo.detail,
errinfo.hint FROM (VALUES ('.2.3', 'ltree'),
('1.2.', 'ltree'),
('1.2.3','ltree'),
('@.2.3','lquery'),
(' 2.3', 'lquery'),
('1.2.3','lquery'),
('$tree & aWdf@*','ltxtquery'),
('!tree & aWdf@*','ltxtquery')) AS a(str,typ),
LATERAL pg_input_error_info(a.str, a.typ) as errinfo;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.