I have a postgresql database with a master table and 2 child tables. 
My master table;

    CREATE TABLE test_table (
        id serial,
        date timestamp without time zone,
        PRIMARY KEY (id)
    );
    CREATE INDEX ON test_table(date);


My child tables;

    CREATE TABLE test_table_20150812 (
        CHECK ( date >= DATE '2015-08-12' AND date < DATE '2015-08-13' )
    ) INHERITS (test_table);
    
    CREATE TABLE test_table_20150811 (
        CHECK ( date >= DATE '2015-08-11' AND date < DATE '2015-08-12' )
    ) INHERITS (test_table);
    
    CREATE INDEX ON test_20150812(date);
    CREATE INDEX ON test_20150811(date);

When I execute query like;

    select * from test_table_20150812 where date > '2015-08-12' order by date desc;

It returns very quickly (20-30 miliseconds).

However if I execute query like;

    select * from test_table where date > '2015-08-12' order by date desc;

It takes a long time (10-15 seconds). Constraint_exclusion is set to ON in my postgresql.conf . Therefore it should only be executed on test_table_20150812.

    Explain result of two queries;
     Limit  (cost=196687.06..196687.19 rows=50 width=212)
       ->  Sort  (cost=196687.06..203617.51 rows=2772180 width=212)
             Sort Key: public.test_table.date
             ->  Result  (cost=0.00..104597.24 rows=2772180 width=212)
                   ->  Append  (cost=0.00..104597.24 rows=2772180 width=212)
                         ->  Seq Scan on test_table  (cost=0.00..0.00 rows=1 width=1857)
                               Filter: (date > '2015-08-12 00:00:00'::timestamp without time zone)
                         ->  Seq Scan on test_table_20150812 test_table  (cost=0.00..104597.24 rows=2772179 width=212)
                               Filter: (date > '2015-08-12 00:00:00'::timestamp without time zone)
    ------
     Limit  (cost=0.00..2.69 rows=50 width=212)
       ->  Index Scan Backward using test_table_20150812_date_idx on test_table_20150812  (cost=0.00..149538.92 rows=2782286 width=212)
             Index Cond: (date > '2015-08-12 00:00:00'::timestamp without time zone)

I see that, if a query is executed on master table, indices are never used. How can I improve it? I want to make all my queries on my master table. When querying for a specific date I expect no performance difference between querying on the master table or the child table.