Q:

What does the Postgres <-> operator do?

I was reading through the Postgres documentation on materialized views and in one example they use the following:
SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;

I tried to run a similar query on my own database, but I get an error.
[42883] ERROR: operator does not exist: character varying <-> unknown

I (probably) don't need to use the operator, but I'm just curious what it does.
Notes:

I am running the same version as the docs (9.3)
I did try Googling the question, but Google just ignores the <-> even if you wrap it in quotes.

A:

It's supposed to be the "distance" operator from the additional module pg_trgm.
The manual:

text <-> text real  Returns the "distance" between the arguments, that is one minus the similarity() value.

The module has to be installed (once per database) with:
CREATE EXTENSION pg_trgm;

More details:

How is LIKE implemented?

Theoretically, any user with the necessary privileges could create an operator with that operator name using CREATE OPERATOR - but not in the example you link to.

