0Pricing
Advanced PostgreSQL: Indexing, Partitioning, Replication · Aula

Replicação síncrona versus assíncrona

Entenda as compensações entre durabilidade e latência na replicação física síncrona e assíncrona do PostgreSQL.

Replicação síncrona versus assíncrona é uma aula grátis de Advanced PostgreSQL: Indexing, Partitioning, Replication no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Advanced PostgreSQL: Indexing, Partitioning, Replication, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Advanced PostgreSQL: Indexing, Partitioning, Replication inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Two Modes of Streaming

Physical streaming replication can run in two modes: asynchronous (the default) and synchronous. They differ in when the primary considers a commit complete.

Asynchronous Replication

In async mode the primary commits as soon as the WAL is flushed locally. It does not wait for the standby. This is fast but a crash can lose the most recent commits not yet shipped.

Synchronous Replication

In sync mode the primary waits until at least one standby confirms it received (or applied) the WAL before reporting commit success. This guarantees zero data loss for confirmed commits at the cost of extra latency.

Configuring Sync Standbys

Name your standbys with application_name and list them in synchronous_standby_names on the primary.

-- on the primary, in postgresql.conf
synchronous_standby_names = 'standby1, standby2';

Quorum-based Sync

You can require any N of several standbys to confirm, balancing durability and availability.

synchronous_standby_names = 'ANY 1 (standby1, standby2)';

synchronous_commit Levels

The synchronous_commit setting controls how far a commit must travel:

  • off / local — local only
  • remote_write — standby received WAL
  • on — standby flushed WAL to disk
  • remote_apply — standby applied WAL (visible on replica)

Per-transaction Control

This setting can be changed per transaction, letting unimportant writes go fast while critical writes wait for confirmation.

SET synchronous_commit = 'remote_apply';
INSERT INTO payments (amount) VALUES (100);

Availability Risk of Sync

If the only synchronous standby goes down, commits on the primary will block until a standby returns. Always pair sync replication with multiple candidates or quorum settings.

Checking Replication State

Inspect the live state from the primary using pg_stat_replication.

SELECT application_name, state, sync_state
FROM pg_stat_replication;

Choosing a Mode

Use async for throughput and geographically distant replicas. Use sync when losing even one committed transaction is unacceptable, such as financial ledgers.

Latency Reality

Synchronous commit latency is roughly the network round-trip to the standby plus its fsync time. Keeping sync standbys on a low-latency link is essential.

Quick Check

What is the key trade-off of synchronous replication?

Recap

You compared asynchronous and synchronous replication, configured synchronous_standby_names and synchronous_commit levels, and learned the durability-vs-latency-vs-availability trade-offs.

Perguntas Frequentes

A aula “Replicação síncrona versus assíncrona” é grátis?

Sim — o texto completo de “Replicação síncrona versus assíncrona” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Advanced PostgreSQL: Indexing, Partitioning, Replication, atualize para CoddyKit PRO. O curso de Advanced PostgreSQL: Indexing, Partitioning, Replication inclui 4 aulas no total.

O que vou aprender em “Replicação síncrona versus assíncrona”?

Entenda as compensações entre durabilidade e latência na replicação física síncrona e assíncrona do PostgreSQL. Você pratica Advanced PostgreSQL: Indexing, Partitioning, Replication com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Advanced PostgreSQL: Indexing, Partitioning, Replication?

Nenhuma experiência prévia é necessária. Advanced PostgreSQL: Indexing, Partitioning, Replication no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Replicação síncrona versus assíncrona”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Advanced PostgreSQL: Indexing, Partitioning, Replication?

Sim. Cada aula de Advanced PostgreSQL: Indexing, Partitioning, Replication inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Entendendo os conceitos de replicação
  2. Replicação física (transmissão contínua)
  3. Configurando um servidor secundário
  4. Replicação síncrona versus assíncrona
← Voltar para Advanced PostgreSQL: Indexing, Partitioning, Replication