Difference between the following postgresql indexes
Check for table and index sizes. Your first index uses 3 columns and its size is probably very big so optimizer chooses full table scan.
Index scan vs full table scan also depends on random_page_cost (default value 4).
If random_page_cost is set lower optimizer will chose index scans over full table scans.