PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 07/09/2020 10:41:37

etelhci
Membre

Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Bonjour.

Je ne connais ni PostgreSQL ni le monde open de façon générale.

Je dois mener une étude sur la haute disponibilité et a réplication pour une application simple développée en PostgreSQL.

J'ai passé une petite semaine à lire la documentation et et essayer divers éléments.
Mais je me suis retrouvé plusieurs fois bloqués.

J'ai tout d'abord installé PostgreSQL sur Windows en utilisant l'installer fournit par EBD.

Mais comme la documentation PostgreSQL est basée sur un contexte Unix (lignes de commande, etc.), j'ai fait la même chose sous Mac os x.
J'ai essayé d'applique le chapitre suivant : PostgreSQL/pg11html/pgsql-118-fr/warm-standby.html.
J'ai été aussi bloqué.

Je suis un développeur expérimenté sur un certain nombre de technologies payantes (Oracle PL/SQL SGBDR/orm, anciennement Visual Studio C++ et Sybase, etc.).
Mais je n'ai pas d'expérience en ce qui concerne l'administration ou l'exploitation.
J'utilise uniquement les outils faits pour les développeurs dans de grandes organisations (pas d'accès à l'administration, même sur mon poste de travail Windows).
J'ai aussi un peu d'expérience en shell Unix.

Quel cycle d'apprentissage me recommanderiez-vous ?

Par avance merci pour votre aide.
Cordialement

Dernière modification par etelhci (07/09/2020 11:05:20)

Hors ligne

#2 07/09/2020 10:56:19

etelhci
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Désolé, je vais faire la version française.
Cordialement

Hors ligne

#3 07/09/2020 11:04:32

rjuju
Administrateur

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Côté haute disponibilité les solutions les plus fiables et réputées sont pacemaker / corosync  associé au resource agent PAF (https://clusterlabs.github.io/PAF/), et patroni (https://patroni.readthedocs.io/en/latest/).


De manière générale, la haute disponibilité est un sujet très complexe.  Il est en général plus sûr de ne pas mettre en place de solution de haute disponibilité que de mettre en place une solution non maîtrisée.



Pour le reste, difficile de vous aider sans savoir les problèmes rencontrés.

Hors ligne

#4 07/09/2020 11:28:32

etelhci
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

En fait je suis un peu perdu dans tous les matériaux disponibles sur PostgreSQL.

Mon besoin n'est pas de pousser en avant la solution d'untel ou d'untel mais de comparer les différentes solutions et de fournir leurs avantages et inconvénients et de tester leur mise en oeuvre.

Connaissant bien le développement sous Oracle, j'ai essayé divers "raccourcis".
Force est de constater que postgreSQL n'a pas grand chose à voir avec Oracle/Sybase.

Du coup j'envisage de prendre plus de temps pour aborder le sujet de façon plus "académique" en évitant tout raccourcis.

J'ai des notions sur les principes de fonctionnement des SGBDR Sybase/Oracle et sur la sécurité en général.

----->Exemple de blocage rencontré sur Mac OS X avec l'installer fourni par EDB :
L'utilisateur Postgres créé n'est propriétaire que du répertoire data.
Le reste appartient à root.
Donc impossible de créer un serveur via initdb : sudo -u postgres /Library/PostgreSQL/11/bin/initdb -D /Library/PostgreSQL/11/tstrepl1prim
Résultat :
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "fr_FR.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "french".
Data page checksums are disabled.
creating directory /Library/PostgreSQL/11/tstrepl1prim ... initdb: could not create directory "/Library/PostgreSQL/11/tstrepl1prim": Permission denied

Dans mes diverses recherches, la seule "solution" évoquée consistait à donner les droits root à Postgres (via sudoers), ce qui n'est bien entendu pas envisageable en terme de sécurité.

Cordialement

Hors ligne

#5 07/09/2020 11:35:07

etelhci
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Merci pour votre réponse.
Concernant votre remarque sur la complexité des solutions de haute disponibilité, j'en déduis donc que pour la mise en place de la solution et son exploitation au quotidien, il faut un expert en exploitation postgreSQL, est-ce bien cela ?

Cordialement

Hors ligne

#6 07/09/2020 11:51:14

rjuju
Administrateur

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

etelhci a écrit :

Concernant votre remarque sur la complexité des solutions de haute disponibilité, j'en déduis donc que pour la mise en place de la solution et son exploitation au quotidien, il faut un expert en exploitation postgreSQL, est-ce bien cela ?

Non, pour l'exploitation de PostgreSQL au quotidien il faut une personne avec suffisamment de compétences pour cela.  Concernant une solution de haute disponibilité, il faut une personne avec suffisamment de compétence sur la solution choisie, et effectivement que cette personne puisse communiquer avec le(s) dba PostgreSQL et/ou avoir les compétences nécessaires.

Hors ligne

#7 07/09/2020 16:35:35

dverite
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

creating directory /Library/PostgreSQL/11/tstrepl1prim ... initdb: could not create directory "/Library/PostgreSQL/11/tstrepl1prim": Permission denied

Dans mes diverses recherches, la seule "solution" évoquée consistait à donner les droits root à Postgres (via sudoers), ce qui n'est bien entendu pas envisageable en terme de sécurité.

Mais ce n'est pas nécessaire.

On peut créer à l'avance le répertoire de données, et l'attribuer à l'utilisateur postgres, c.a.d:

$ sudo mkdir /Library/PostgreSQL/11/tstrepl1prim
$ sudo chown postgres /Library/PostgreSQL/11/tstrepl1prim

C'est suffisant à initdb pour pouvoir travailler et écrire  dans ce répertoire en tant que postgres.

Dernière modification par dverite (07/09/2020 16:35:59)

Hors ligne

#8 08/09/2020 09:40:18

etelhci
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Merci.

Comme la création de l'utilisateur Unix le rend normalement propriétaire de son répertoire, je me demandais s'il n'y avait pas un autre problème. Avec d'éventuel conséquences ultérieures lors de l'exploitation du serveur créé.

Je vais essayer.

Cordialement.

Hors ligne

#9 08/09/2020 10:21:17

etelhci
Membre

Re : Apprenti PostgreSQL étudiant la haute disponibilité/réplication

Cela marche.
Merci encore.

Hors ligne

Pied de page des forums