Schedules getting removed or not working on system restart

I am using the temporal local version to create a schedule at a future date and trigger a separate workflow at that specified time. I am using the gRPC API to create the schedules and using the web UI to view them. However, when I restart the temporal server, all the schedules and the workflows I triggered previously is no more available and cannot be seen in the temporal web UI.
We were able to see previous executions using temporalite.
Can you please advise if there is any settings to be configured so that I can see the schedules are still running even when we restart the temporal server ?

By default the single binary version of temporal starts with an in-memory database which is lost on every restart. Specify the the db file name to persist data across restarts. See the Persistence modes documentation.

Thanks. I could now see the previous schedule after restart. However, I am testing a scenario where,

  1. Create a schedule for a future date/time.
  2. Stop the temporal server (assuming there was some downtime/crash).
  3. Start the server after the scheduled time and see if the temporal schedule fires the workflow.
    Notice that the schedule is running however neither the workflow getting triggered for the specified time (unlike when we use sleep in workflow it triggers) nor can i see any runs for that schedule.
    Can you please advise how the schedule will behave if we restart the server after the date/time has passed. This scenario is important to us as there can be future dated payments. And we want to ensure the schedules trigger them no matter the failures in the system.

Try increasing the catchup-window.