Menyiapkan Server Siaga
Ikuti langkah-langkah praktis untuk menginisialisasi dan mengonfigurasi server siaga PostgreSQL guna menyinkronkan data secara berkelanjutan.
Menyiapkan Server Siaga adalah pelajaran Advanced PostgreSQL: Indexing, Partitioning, Replication gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Advanced PostgreSQL: Indexing, Partitioning, Replication, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Advanced PostgreSQL: Indexing, Partitioning, Replication mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
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 md5Primary 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 postgresqlStandby: 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 -RDecoding 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 astandby.signalfile and appendsprimary_conninfotopostgresql.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 = onStandby: 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 postgresqlVerify 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.confon the primary. - Using
pg_basebackup -Ron the standby for initial data copy and automatic configuration. - Ensuring
hot_standby = onon the standby. - Starting the standby and verifying its status.
Your standby is now ready to receive continuous updates from the primary!
Belajar Advanced PostgreSQL: Indexing, Partitioning, Replication dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 11
- Pelajaran
- 44
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menyiapkan Server Siaga” gratis?
Ya — teks lengkap “Menyiapkan Server Siaga” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Advanced PostgreSQL: Indexing, Partitioning, Replication, upgrade ke CoddyKit PRO. Kursus Advanced PostgreSQL: Indexing, Partitioning, Replication mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menyiapkan Server Siaga”?
Ikuti langkah-langkah praktis untuk menginisialisasi dan mengonfigurasi server siaga PostgreSQL guna menyinkronkan data secara berkelanjutan. Kamu berlatih Advanced PostgreSQL: Indexing, Partitioning, Replication dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Advanced PostgreSQL: Indexing, Partitioning, Replication?
Tidak diperlukan pengalaman sebelumnya. Advanced PostgreSQL: Indexing, Partitioning, Replication di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Menyiapkan Server Siaga” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Advanced PostgreSQL: Indexing, Partitioning, Replication ini?
Ya. Setiap pelajaran Advanced PostgreSQL: Indexing, Partitioning, Replication menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memahami Konsep Replikasi
- Replikasi Fisik (Streaming)
- Menyiapkan Server Siaga
- Replikasi Sinkron vs Asinkron