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

Configurazione di un server standby

Segua passo dopo passo le attività pratiche per inizializzare e configurare un server standby PostgreSQL per la sincronizzazione continua dei dati.

Configurazione di un server standby è una lezione Advanced PostgreSQL: Indexing, Partitioning, Replication gratuita su CoddyKit. Questa è la lezione 3 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.

Welcome to Standby Setup

In this lesson, we'll walk through the practical steps to set up a PostgreSQL standby server. This server will continuously synchronize data from your primary server, acting as a read-replica and a crucial part of your disaster recovery strategy.

We'll cover the necessary configurations on both the primary and the standby.

Primary Prep: Replication User

Before initializing our standby, we need a dedicated user on the primary server with replication privileges. This user will be used by the standby to connect and stream WAL (Write-Ahead Log) data.

Run this SQL command on your primary PostgreSQL server:

CREATE USER repluser REPLICATION LOGIN CONNECTION LIMIT 1 ENCRYPTED PASSWORD 'StrongPassword123!';

Primary Prep: Access Control

Next, we need to tell the primary server to accept connections from our standby server for replication. Edit the pg_hba.conf file on your primary server.

Add an entry like this, replacing 192.168.1.100 with the actual IP address of your standby server:

host    replication     repluser        192.168.1.100/32        md5

Primary Prep: Apply Changes

After modifying pg_hba.conf, PostgreSQL needs to reload its configuration. You can do this without a full restart in most cases.

Execute this command on your primary server:

sudo systemctl reload postgresql

Standby: Initial Data Copy

Now, let's move to the standby server. The first step is to get a base copy of the primary's data directory. We use pg_basebackup for this. This command connects to the primary, copies all its data, and creates necessary recovery configuration files.

Run this command on your standby server, replacing placeholders:

pg_basebackup -h primary_ip -U repluser -D /var/lib/postgresql/16/main -P -R

Decoding pg_basebackup Options

Let's break down the pg_basebackup options:

  • -h primary_ip: Hostname or IP of the primary server.
  • -U repluser: The replication user we created.
  • -D /path/to/data: The data directory on the standby.
  • -P: Show progress during the backup.
  • -R: Crucial! Creates a standby.signal file and appends primary_conninfo to postgresql.conf, configuring the standby for recovery.

Standby: Essential Configuration

The -R option handles most of the recovery setup. However, ensure hot_standby is enabled in the standby's postgresql.conf if you want to use it for read queries.

Open postgresql.conf on the standby and ensure this line is present and uncommented:

hot_standby = on

Standby: Connection String

The -R option should have automatically added a primary_conninfo entry to your standby's postgresql.conf. This tells the standby how to connect to the primary.

Verify it looks similar to this, with your actual primary IP and replication user password:

primary_conninfo = 'host=primary_ip port=5432 user=repluser password=StrongPassword123!'

Starting the Standby

With the data copied and configuration in place, you can now start the PostgreSQL service on your standby server. It will automatically begin connecting to the primary and streaming WAL records.

Execute this command on your standby server:

sudo systemctl start postgresql

Verify Replication Status

To confirm that replication is working, connect to your primary server and query the pg_stat_replication view. You should see an entry for your standby server.

A state of 'streaming' indicates success!

SELECT client_addr, state, sync_state FROM pg_stat_replication;

Check Your Setup

You've just set up a PostgreSQL standby! Let's test your understanding of a key step.

Standby Setup Summary

Great job! You've successfully configured a PostgreSQL standby server for streaming replication. This involves:

  • Creating a replication user on the primary.
  • Configuring pg_hba.conf on the primary.
  • Using pg_basebackup -R on the standby for initial data copy and automatic configuration.
  • Ensuring hot_standby = on on the standby.
  • Starting the standby and verifying its status.

Your standby is now ready to receive continuous updates from the primary!

Domande Frequenti

La lezione «Configurazione di un server standby» è gratuita?

Sì — il testo completo di «Configurazione di un server standby» è 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 «Configurazione di un server standby»?

Segua passo dopo passo le attività pratiche per inizializzare e configurare un server standby PostgreSQL per la sincronizzazione continua dei dati. 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 3 di 4.

Quanto tempo richiede la lezione «Configurazione di un server standby»?

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