Uma maneira eficiente de obter o último / primeiro registro no TimescaleDB:
Primeiro registro:
SELECT <COLUMN>, time FROM <TABLE_NAME> ORDER BY time ASC LIMIT 1 ;
Último registro:
SELECT <COLUMN>, time FROM <TABLE_NAME> ORDER BY time DESC LIMIT 1 ;
A pergunta já foi respondida, mas acredito que possa ser útil se as pessoas chegarem aqui. Usar first() e last() no TimescaleDB leva muito mais tempo.