From: "Caroline M. Paxson" <[email-masked]>
Date: Mon, 21 Mar 1994 13:55:37 -0800

You did the following:

__________________________________

create test (i = int4) \g

define function j (language = "postquel", returntype = int4)
	arg is (test)
	as "retrieve (x = $1.i)" \g

define index test_index on test using btree (j int4_ops) \g

WARN:Mar 21 11:57:06:DefineIndex: attribute "j" not found

__________________________________

The problem you're having is that j is really a function, not
an attribute.  In other words, j is stored in pg_proc as a 
procedure, but there is no connection in the database between
this procedure and the relation "test".  In the next release of
Postgres (coming out "any day now" (TM)), you will be able to 
define a complex attribute for real, and index on it using
int4_ops.

Sorry there's no quicker fix.

Carol Paxson
[email-masked]