Guide complet de la configuration du streaming REPLAPATION POSTgreSQL Configuration 16


PostgreSQL 16 offre de solides capacités de réplication pour garantir que les données restent disponibles et distribuées en temps réel entre le serveur principal (primaire) et un serveur de sauvegarde (veille). Voici les étapes qui doivent être suivies pour configurer la réplication du streaming dans PostgreSQL 16.

Préparation initiale

Installation de PostgreSQL

Assurez-vous que PostgreSQL 16 a été installé sur les deux serveurs (primaire et veille). Sinon, vous pouvez l’installer avec la commande suivante:

sudo apt-get update
sudo apt-get install postgresql-16

Créer une réplication de l’utilisateur

Créez un utilisateur spécial pour la réplication sur le serveur principal:

CREATE ROLE rep_user WITH REPLICATION LOGIN PASSWORD 'password';

Configuration sur le serveur principal

1 et 1 Modifier postgresql.conf

L’emplacement de ce fichier est généralement allumé /etc/postgresql/16/main/postgresql.conf. Ajouter ou modifier les lignes suivantes:

wal_level="replica"
max_wal_senders = 10
max_replication_slots = 10
wal_log_hints="on"
synchronous_standby_names="FIRST 1 (standby1, standby2)"

2 Modifier pg_hba.conf

L’emplacement de ce fichier est généralement allumé /etc/postgresql/16/main/pg_hba.conf. Ajoutez les lignes suivantes pour permettre l’accès depuis le serveur de secours:

host replication rep_user 10.0.0.2/32 scram-sha-256

3 et 3 Redémarrer PostgreSQL

Après avoir modifié la configuration, redémarrez PostgreSQL:

sudo systemctl restart postgresql

4 Créer un emplacement de réplication (facultatif)

Pour faire un emplacement de réplication, exécutez la commande suivante dans PostgreSQL:

SELECT * FROM pg_create_physical_replication_slot('rep_slot');

Configuration sur le serveur de secours

1 et 1 Arrêtez PostgreSQL:

sudo systemctl stop postgresql

2. Copier les données du primaire au veille:

pg_basebackup -h primary_server_ip -D /var/lib/postgresql/16/main -U rep_user -W -P --write-recovery-conf

Option --write-recovery-conf Créera un fichier standby.signal et entrez les paramètres de réplication requis dans postgresql.conf.

3 et 3 Modifier postgresql.conf:

Assurez-vous que le fichier postgresql.conf possède les paramètres suivants:

primary_conninfo = 'host=primary_server_ip port=5432 user=rep_user password=password'
primary_slot_name="rep_slot"  # Jika menggunakan slot replikasi
hot_standby = 'on'

4 Modifier pg_hba.conf:

Ajoutez une entrée pour autoriser les connexions au serveur principal:

host replication rep_user primary_server_ip/32 scram-sha-256

5 Démarrer PostgreSQL:

sudo systemctl start postgresql

Vérification

Vérifiez l’état de réplication en primaire:

SELECT * FROM pg_stat_replication;

Résultats de ContoH

  pid   | usesysid | usename  | application_name | client_addr  | client_hostname | client_port |         backend_start         | backend_xmin |   state   |  sent_lsn   |  write_lsn  |  flush_lsn  | replay_lsn  | write_lag | flush_lag | replay_lag | sync_priority | sync_state |          reply_time           
--------+----------+----------+------------------+--------------+-----------------+-------------+-------------------------------+--------------+-----------+-------------+-------------+-------------+-------------+-----------+-----------+------------+---------------+------------+-------------------------------
 638369 |   340262 | rep_user | 16/main          | 34.50.82.145 |                 |       45992 | 2024-07-10 17:04:53.349471+00 |              | streaming | 30/7C014690 | 30/7C014690 | 30/7C014690 | 30/7C014690 |           |           |            |             0 | async      | 2024-07-10 17:05:23.409507+00
(1 row)

Vérifiez l’état en veille:

SELECT * FROM pg_is_in_recovery();

Résultats de ContoH

postgres@hostname:~/16$ psql
psql (16.3 (Ubuntu 16.3-1.pgdg22.04+1))
Type "help" for help.

postgres=# SELECT * FROM pg_is_in_recovery();
 pg_is_in_recovery 
-------------------
 t
(1 row)

postgres=# 

Si tout se passe bien, vous avez maintenant une configuration de réplication de streaming postgresql active. Cette réplication garantit que les données sur le serveur de secours sont toujours mises à jour en temps réel à partir du serveur principal, augmentant ainsi la disponibilité et la fiabilité de vos données.

Source:

En suivant ce guide, vous pouvez définir facilement la réplication de streaming sur PostgreSQL 16 et vous assurer que vos données sont toujours synchrones entre les serveurs primaires et de secours.



Hasil pileg

Review Film
Berita Terkini
Berita Terkini
Berita Terkini
review anime

Gaming Center

Berita Olahraga

Lowongan Kerja

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Berita Politik

Resep Masakan

Pendidikan

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *