How would this work from a fault tolerance perspective? For example the listening application happens to be offline but the database is inserting records. How would the application catch up?
If the listener is offline, the Postgres will see that a subscriber is behind and mark more of internal data as needing to be retained - this will keep certain maintenance tasks from being run (i.e. VACUUM). If VACUUM is not run for long enough, it will cause a catastrophic failure in your DB.
The application can catch up when restarted, if it retains the last WAL position. When it restarts, can asks Postgres to start replaying from that point.
Well of course, but I don't feel like this is a noteworthy limitation here; it applies to any form of queue that persists messages.
I had imagined the GP might have been insinuating something like: a configurable number of WAL files would be written, then they'll be overwritten once all full.
The application can catch up when restarted, if it retains the last WAL position. When it restarts, can asks Postgres to start replaying from that point.