Vous n'êtes pas identifié(e).
Pages : 1
Re Bonjour,
Merci beaucoup Marc pour votre aide. Je vais donc voir pour établir un plan d'action...A suivre.
Merci
Cordialement
Bonjour Marc,
En gros cela signifie qu'il faut que je fasse un export + drop instance + recreate instance avec --data-checksums ?
Merci
Bonjour,
Pourriez-vous m'indiquer s'il vous plaît la procédure à appliquer pour activer le checksums sur une instance postgresql 11 existante. Lors de la création je n'ai pas ajouté l'option --data-checksums par méconnaissance et je n'ai rien trouvé sur le net me permettant de l'activé à postériori.
J'ai trouvé des topics sur l'utilisation de pg_checksums mais qui ne peut être utilisé qu'à partir de la version postgresql 12.
Je vous remercie par avance pour votre aide.
Cordialement
Bonjour,
Dans le cadre d'une migration Oracle => PostgreSql j'ai mis en place un cluster PostgreSql Master/Slave avec du Load balancing et du FailOver.
Le cluster se compose de
2 serveurs postgreSql Master/Slave => réplication gérée par PostgreSql
2 serveurs PgPool Master/Slave => Gestion Load Balancing + Failover
J'ai déployé ce cluster du CentOs7 et aussi sur du Debian9, afin de valider que l'installation se fasse "facilement" sur ces deux environnements. A part des différences au niveau de l'emplacement des fichiers (config / base....) je n'ai pas trouvé de blocage en terme d'installation.
Néanmoins je suis tombé sur un soucis sur Debian quand j'ai voulu configuré le cluster PGPool, la version de PGPool disponible pour cette distribution est moins récente que celle disponible sur CentOs....
Du coup les questions que je me pose :
- Quels sont les "bests practices" préconisées pour l'installation de ce type de cluster, je n'ai pas trouvé de "livre blanc" sur ce point ou alors je n'ai pas bien chercher (ça se peut aussi).
- Est-ce que les mises à jour des packages sont bien suivies au niveau de Debian, j'ai un doute au vu des soucis que j'ai eu pour PGPool...
- Quels seraient vos conseils, vos avis sur la "meilleure" distribution à prendre pour ce type de projet ?
Je vous remercie par avance de votre aide.
Cali
Bonjour Guillaume,
En effet je viens de voir que je n'étais pas en dernière version....Maintenant cela fonctionne bien.
Merci beaucoup
Cordialement
Cali
Bonjour,
J'ai monté un cluster Master/Slave en utilisant PGPool2 et PostgreSql10. La configuration est faite ainsi
2 Serveurs Postgres
1 Master
1 Slave
La réplication est faite directement par Postgresql par l'application des logs sur le slave.
2 serveurs PgPool2
1 Master
1 Slave
Activation de heartbeat / watchdog + mise en place d'une IP virtuelle pour le load balancing et le failover
Le cluster fonctionne bien, si je stoppe le pgpool master, le slave prend le relais, quand je redémarre le master il devient bien slave. Si la base postgres Master tombe j'ai mis en place le FailOver qui promeut la base Slave en Master. Je n'ai pas encore mis en place la reconstruction du cluster Postgres suite au passage du Slave en Master.
Je voulais aller plus loin dans le load balancing en jouant sur les paramètres de Pgpool dans la section MASTER/SLAVE MODE
Le paramètre sr_check_period à se que je comprends permet d'activer la vérification de la synchro entre le master et le slave. Si la Synchro n'est pas "bonne" alors Pgpool envoie toutes les demandes sur le master.
Quand j'active ce paramètre je me prends des erreurs liées au changement de nom de fonctions entre Postgres 9 et postgres 10.
Pgpool2 fais encore appel aux fonctions pg_current_xlog_insert_location(), pg_last_xlog_replay_location().... mais celles si n'existent plus sur postgres 10.
J'ai tenté de contourner le pb en créant ces fonctions mais cela n'a rien changé. J'utilise bien le user postgres pour faire la vérification et j'ai bien créé les fonctions avec ce user.
CREATE FUNCTION pg_catalog.pg_current_xlog_location() RETURNS pg_lsn AS $$
BEGIN
RETURN pg_current_wal_lsn();
END;
$$ LANGUAGE plpgsql;
Dans les logs pgpool je vois cela :
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 21004:CONTEXT: while checking replication time lag
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 27005:LOG: worker child process with pid: 21004 exits with status 256
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 27005:LOG: fork a new worker child process with pid: 21005
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 21005:FATAL: Backend throw an error message
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 21005:DETAIL: Exiting current session because of an error from backend
Aug 2 09:28:07 PGPool2-INS01 pgpool[27005]: 2018-08-02 09:28:07: pid 21005:HINT: BACKEND Error: "la fonction pg_current_xlog_location() n'existe pas"
J'ai tenté de voir comment changer cela directement dans pgpool mais impossible car c'est compilé dans le binaire.
Auriez-vous des idées pour solutionner/contourner ce soucis s'il vous plaît ?
Merci d'avance pour vos commentaires
Cali
Pages : 1