How can I instruct Postgres to complete all "in-progress" transactions, but to delay starting new ones (without kicking clients off) until I have taken a ZFS or LVM snapshot (which takes less than a second).
e.g.
- pause Postgres, waiting for "in-progress" transactions to complete
- sync to disk
- take ZFS/LVM snapshot
- resume Postgres