Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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.
Julien.
https://rjuju.github.io/
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
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.
Julien.
https://rjuju.github.io/
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)
@DanielVerite
http://blog-postgresql.verite.pro/
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