question: how does pgbackrest do incremental backup right now if postgres doesn't yet support it ?
The incremental backup would be just the WAL segments excluding the base backup.
With this new feature, the WAL segments you need to store are much, much smaller.
Not exactly. Pgbackrest can do incremental backups that are restored by applying file system level diffs (stored in incremental backup) to the base backup. WALs are only involved at the very last step when restore process is finalized by applying WALs that were generated during BACKUP step itself. But that's not pgbackrest limitation, that's how any Postgres restore process works.
EDIT: "how any Postgres restore process works" that restore a backup done from a live database that is being written to when backup is taking place.