I just found out that if you use continuous archiving and online backups, it's surprisingly difficult to restore a backup, without replaying any more WAL than necessary.
You can find first WAL file name in backup_label "START WAL LOCATION". Last WAL file name location depends on source type, if backup from slave - use pg_control from backup and "Minimum recovery ending location", if backup from master - use "STOP WAL LOCATION" from backup .history file :-) Then I just copy needed WALs from archive into pg_xlog and remove recovery.conf.
It seems that we're missing a setting, something like recovery_target = 'immediate', which would mean "stop as soon as consistency is reached". Or am I missing some trick?