Advanced PostgreSQL: Indexing, Partitioning, Replication · Lezione

Replica sincrona e asincrona

Comprenda i compromessi tra durabilità e latenza nella replica fisica sincrona e asincrona di PostgreSQL.

Lezione 4 di 413 passaggi

Replica sincrona e asincrona è una lezione Advanced PostgreSQL: Indexing, Partitioning, Replication gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Advanced PostgreSQL: Indexing, Partitioning, Replication, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Advanced PostgreSQL: Indexing, Partitioning, Replication include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

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.

Gratis per iniziare

Impara Advanced PostgreSQL: Indexing, Partitioning, Replication con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
11
Lezioni
44

Domande Frequenti

La lezione «Replica sincrona e asincrona» è gratuita?

Sì — il testo completo di «Replica sincrona e asincrona» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Advanced PostgreSQL: Indexing, Partitioning, Replication, passa a CoddyKit PRO. Il corso Advanced PostgreSQL: Indexing, Partitioning, Replication include 4 lezioni in totale.

Cosa imparerò in «Replica sincrona e asincrona»?

Comprenda i compromessi tra durabilità e latenza nella replica fisica sincrona e asincrona di PostgreSQL. Eserciti Advanced PostgreSQL: Indexing, Partitioning, Replication con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Advanced PostgreSQL: Indexing, Partitioning, Replication?

Non è richiesta alcuna esperienza precedente. Advanced PostgreSQL: Indexing, Partitioning, Replication su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Replica sincrona e asincrona»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Advanced PostgreSQL: Indexing, Partitioning, Replication?

Sì. Ogni lezione Advanced PostgreSQL: Indexing, Partitioning, Replication include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Comprendere i concetti di replica
  2. Replica fisica (streaming)
  3. Configurazione di un server standby
  4. Replica sincrona e asincrona
← Torna a Advanced PostgreSQL: Indexing, Partitioning, Replication