Multi-column btree index & INLJ I have three tables: 

FILM(ID,TITLE)
ACTOR(ID,NAME,GENDER)
CAST(ACTOR_ID,FILM_ID,ROLE)


Foreign keys: ACTOR_ID, FILM_ID

And I have created a btree on columns (ACTOR_ID,FILM_ID) of CAST table.

Could I use the INLJ (index nested loop join) algorithm to make the following join?

...
FROM FILM,CAST
WHERE FILM.ID = CAST.FILM_ID ;
I very much doubt it will ever do that.  PostgreSQL doesn't yet implement index skip scans, and if it did they would only be effective if there were only a handful of different actors.

It is possible, but not very likely, to use the index for something other than an INLJ.  If the role field is very wide (causing the cast table to be much larger than the index on it), and role is not in your select list, and the table is kept well vacuum, then it might decide to index-only-scan the index rather than seq scan the cast table as part of a merge join or hash join.  

(By the way, cast is not a valid table name as it is a reserved word)