PostgreSQL has two forms of native replication: logical replication and binary replication. Logical replication offers tuple-by-tuple changes streamed from a primary server to a secondary server. Binary replication, also known as physical replication, sends changes at a disk block level.
Binary replication allows for backing up an entire database and recovering it to a specific point in time, called point-in-time-recovery (PITR). PostgreSQL accomplishes this by using a write-ahead log (WAL), which details the transactions that occur. This tutorial provides a guide for implementing binary replication between a primary and secondary server.