Great question. Yes it does. PeerDB keeps track of what rows have been streamed and what are yet to be streamed. During failures (restarts, crashes etc), it uses this to resume from where it left off. More details on how we do it can be found in this blog - https://blog.peerdb.io/using-temporal-to-scale-data-synchron...
Yes, PeerDB can stream query data continuously. You need to specify a watermark column (incremental id or timestamp column) as a part of the mirror. PeerDB uses this column to keep track of data that needs to be synced.