Randall Lucas <rlucas@xxxxxxxxxxx> writes: > Is there a way I can convince my custom composite data type (point_pk) > to use the row-wise comparison functions, so that I don't have to > hackishly rewrite the comparison algorithm for each composite type? Well, you can do this ... regression=# create type point_pk as (x int, y int); CREATE TYPE regression=# create table foo(f1 point_pk, f2 point_pk); CREATE TABLE regression=# select * from foo where f1 = f2; ERROR: operator does not exist: point_pk = point_pk LINE 1: select * from foo where f1 = f2; ^ HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. regression=# select * from foo where row((f1).*) = row((f2).*); f1 | f2 ----+---- (0 rows) > Using 8.1.5. ... but I think it only works as of 8.2. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend