надо писать функцию расстояния на Си, высоким уровнем НЕ обойтись, там сигнатура с internal.
пример можно посмотреть, например, в контрибе earthdistance, ну и где найдете function 8 для гиста реализованную. но там много кодить везде, хотя может вам и не трудно будет.
у меня в 92 это есть в OPERATOR CLASS point_ops DEFAULT FOR TYPE point USING gist
FUNCTION 8 gist_point_distance(internal, point, integer, oid)
и
OPERATOR CLASS gist_int8_ops DEFAULT FOR TYPE int8 USING gist AS
FUNCTION 8 gbt_int8_distance(internal, bigint, smallint, oid),
последнее - контриб btree_gist
Михаил
DBA