Reordering a postgresql timescaledb hypertable
We recommend instead to use TimescaleDB's reorder_chunk command (or a reorder policy).

CLUSTER will take an ACCESS EXCLUSIVE lock on the entire hypertable, which prevents any operations (reads or writes) from occurring during the entire cluster process (https://www.postgresql.org/docs/current/sql-cluster.html).

We re-implemented similar functionality in reorder_chunk to not acquire require such a heavy weight lock:  It operates chunk-by-chunk, and you can still read from the table/chunk while the reordering/clustering is occurring.

But to answer your other questions:


You can order in either timestamp order.  Define your index to be
clustered/reordered as having either timestamps DESC (descending) or ASC (ascending) order.  
Reordering chunks can be really great for performance. You don't typically need just for timestamp if you are inserting data is loose timestamp order. 
But we often see them in composites, so if you have a device &amp;
timestamp, and you often do a query like:



  SELECT foo from table where device_id = X and timestamp > now() - interval '1 week'


then its very useful to reorder based on a composite index like (device_id, timestamp).

https://docs.timescale.com/latest/api#reorder_chunk
https://docs.timescale.com/latest/api#add_reorder_policy