-- int8 check
CREATE TABLE int8tmp (a int8);
\copy int8tmp from 'data/int8.data'
SET enable_seqscan=on;
SELECT count(*) FROM int8tmp WHERE a <  464571291354841;
 count 
-------
   276
(1 row)

SELECT count(*) FROM int8tmp WHERE a <= 464571291354841;
 count 
-------
   277
(1 row)

SELECT count(*) FROM int8tmp WHERE a  = 464571291354841;
 count 
-------
     1
(1 row)

SELECT count(*) FROM int8tmp WHERE a >= 464571291354841;
 count 
-------
   271
(1 row)

SELECT count(*) FROM int8tmp WHERE a >  464571291354841;
 count 
-------
   270
(1 row)

SELECT a, a <-> '464571291354841' FROM int8tmp ORDER BY a <-> '464571291354841' LIMIT 3;
        a        |    ?column?    
-----------------+----------------
 464571291354841 |              0
 457257666629329 |  7313624725512
 478227196042750 | 13655904687909
(3 rows)

CREATE INDEX int8idx ON int8tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM int8tmp WHERE a <  464571291354841::int8;
 count 
-------
   276
(1 row)

SELECT count(*) FROM int8tmp WHERE a <= 464571291354841::int8;
 count 
-------
   277
(1 row)

SELECT count(*) FROM int8tmp WHERE a  = 464571291354841::int8;
 count 
-------
     1
(1 row)

SELECT count(*) FROM int8tmp WHERE a >= 464571291354841::int8;
 count 
-------
   271
(1 row)

SELECT count(*) FROM int8tmp WHERE a >  464571291354841::int8;
 count 
-------
   270
(1 row)

EXPLAIN (COSTS OFF)
SELECT a, a <-> '464571291354841' FROM int8tmp ORDER BY a <-> '464571291354841' LIMIT 3;
                     QUERY PLAN                      
-----------------------------------------------------
 Limit
   ->  Index Only Scan using int8idx on int8tmp
         Order By: (a <-> '464571291354841'::bigint)
(3 rows)

SELECT a, a <-> '464571291354841' FROM int8tmp ORDER BY a <-> '464571291354841' LIMIT 3;
        a        |    ?column?    
-----------------+----------------
 464571291354841 |              0
 457257666629329 |  7313624725512
 478227196042750 | 13655904687909
(3 rows)