INSERTINTO POINT_TBL(f1) VALUES ('(10.0, 1e+500)'); -- Out of range
SELECT * FROM POINT_TBL;
-- left of SELECT p.* FROM POINT_TBL p WHERE p.f1 << '(0.0, 0.0)';
-- right of SELECT p.* FROM POINT_TBL p WHERE'(0.0,0.0)' >> p.f1;
-- above SELECT p.* FROM POINT_TBL p WHERE'(0.0,0.0)' |>> p.f1;
-- below SELECT p.* FROM POINT_TBL p WHERE p.f1 <<| '(0.0, 0.0)';
-- equal SELECT p.* FROM POINT_TBL p WHERE p.f1 ~= '(5.1, 34.5)';
-- point in box SELECT p.* FROM POINT_TBL p WHERE p.f1 <@ box '(0,0,100,100)';
SELECT p.* FROM POINT_TBL p WHERE box '(0,0,100,100)' @> p.f1;
SELECT p.* FROM POINT_TBL p WHEREnot p.f1 <@ box '(0,0,100,100)';
SELECT p.* FROM POINT_TBL p WHERE p.f1 <@ path '[(0,0),(-10,0),(-10,10)]';
SELECT p.* FROM POINT_TBL p WHEREnot box '(0,0,100,100)' @> p.f1;
SELECT p.f1, p.f1 <-> point '(0,0)'AS dist FROM POINT_TBL p ORDERBY dist;
SELECT p1.f1 AS point1, p2.f1 AS point2, p1.f1 <-> p2.f1 AS dist FROM POINT_TBL p1, POINT_TBL p2 ORDERBY dist, p1.f1[0], p2.f1[0];
SELECT p1.f1 AS point1, p2.f1 AS point2 FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3;
-- put distance result into output to allow sorting with GEQ optimizer - tgl 97/05/10 SELECT p1.f1 AS point1, p2.f1 AS point2, (p1.f1 <-> p2.f1) AS distance FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3and p1.f1 << p2.f1 ORDERBY distance, p1.f1[0], p2.f1[0];
-- put distance result into output to allow sorting with GEQ optimizer - tgl 97/05/10 SELECT p1.f1 AS point1, p2.f1 AS point2, (p1.f1 <-> p2.f1) AS distance FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3and p1.f1 << p2.f1 and p1.f1 |>> p2.f1 ORDERBY distance;
-- Test that GiST indexes provide same behavior as sequential scan CREATE TEMP TABLE point_gist_tbl(f1 point); INSERTINTO point_gist_tbl SELECT'(0,0)'FROM generate_series(0,1000); CREATEINDEX point_gist_tbl_index ON point_gist_tbl USING gist (f1); INSERTINTO point_gist_tbl VALUES ('(0.0000009,0.0000009)'); SET enable_seqscan TOtrue; SET enable_indexscan TOfalse; SET enable_bitmapscan TOfalse; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000009,0.0000009)'::point; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 <@ '(0.0000009,0.0000009),(0.0000009,0.0000009)'::box; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000018,0.0000018)'::point; SET enable_seqscan TOfalse; SET enable_indexscan TOtrue; SET enable_bitmapscan TOtrue; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000009,0.0000009)'::point; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 <@ '(0.0000009,0.0000009),(0.0000009,0.0000009)'::box; SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000018,0.0000018)'::point;
RESET enable_seqscan;
RESET enable_indexscan;
RESET enable_bitmapscan;
-- test non-error-throwing API for some core types SELECT pg_input_is_valid('1,y', 'point'); SELECT * FROM pg_input_error_info('1,y', 'point');
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.0 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.