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).

#2 Re : Optimisation » configuration pooling connexion pgPool-II » 07/07/2014 10:43:37

j'ai oublié de préciser.

Le couple [user, database] qui passera par pgPool-II sera toujours le même.

Cordialement.

#3 Optimisation » configuration pooling connexion pgPool-II » 07/07/2014 10:35:30

Kore
Réponses : 4

Bonjour,

Voilà je voudrais obtenir des précisions pour configurer les paramètres max_pool et num_init_children de pgPool-II?

Quand faut il faire varier le max_pool par rapport au num_init_children ou inversement? 

Quelle est la différence entre faire varier le nombre de pool par rapport au nombre de connexions gérées dans chaque pool?


Pouvez vous m'indiquer la bonne pratique pour 10000 connexions en consultation simultanées sachant qu'il s'agit d'un site web avec des requêtes SELECT assez simples?

Un seul pgPool + 1 backend bien gonflés en mémoire et en CPU suffisent il? Sachant qu'il s'agit d'une bdd de 10Go tout au plus.

Si oui, quelles seraient les valeurs à positionner pour max_pool et num_init_children dans le pgpool.conf et la valeur de max_connections dans le postgresql.conf du backend? Tout du moins de bonnes valeurs de départ?

Sinon, quelle est la bonne pratique pour ce type de cas? Plusieurs pgPool et/ou backend avec répartition de charge obligatoire?


J'espère avoir été assez clair dans mes demandes.

Cordialement

#4 Re : Général » Positionnement des clés étrangères dans le cadre d'un partitionnement » 30/06/2014 11:01:41

Merci pour toutes ces précisions.

Je prend note de vos réponses.

Cordialement.

#5 Re : Général » Positionnement des clés étrangères dans le cadre d'un partitionnement » 23/06/2014 14:35:57

Merci pour  vos réponses

Donc si je résume :

- contraintes sur table mère et table fille
- triggers à privilégier pour les cas généraux
- règles pour les grosses insertions

Dernière question qu'entendez vous par une grosse insertion?

Une séquence d'INSERTs qui va insérer un tuple à la fois par instruction SQL 
ou
une seule instruction INSERT qui va insérer le résultat d'un select (INSERT INTO matable SELECT * FROM matable2)
ou
les deux?

Désolé si ça vous paraît bizarre comme question mais je préfère être sûr d'avoir bien compris.

Cordialement

#6 Re : Général » Positionnement des clés étrangères dans le cadre d'un partitionnement » 20/06/2014 11:45:43

Merci pour votre réponse.

Le fait de positionner la contrainte sur la table mère et la table fille, est ce que ça ne fait pas redondance de vérification?

Une vérification de la contrainte via la table mère et une nouvelle vérification  avec en quelque sorte la "même contrainte" via la table fille.

#7 Général » Positionnement des clés étrangères dans le cadre d'un partitionnement » 19/06/2014 14:19:51

Kore
Réponses : 9

Bonjour,

J'ai une table partitionnée (héritage + triggers) dont certains champs référencent d'autres tables.

Les clés étrangères doivent elles être positionnées sur les tables filles qui héritent de la table mère ou vaut il mieux positionner les clés étrangères directement sur la table mère?

Merci d'avance pour vos réponses.

Cordialement.

#8 Re : Réplication » Quand envisager PgPool-II? » 17/06/2014 17:13:12

Ok. j'avais déjà lu ce type de remarque sur pgBouncer.

Merci pour vos réponses et votre réactivité!

#9 Re : Réplication » Quand envisager PgPool-II? » 17/06/2014 16:42:58

Merci pour votre réponse.

Pourquoi pgBouncer plutôt que pgPool-II?

#10 Réplication » Quand envisager PgPool-II? » 17/06/2014 15:41:03

Kore
Réponses : 4

Bonjour,

Je voudrais savoir quels critères peut nous conduire à l'utilisation de pgPool-II?


Hormis les fonctionnalités de répartition de charge, de failover et  de online-recovery, quelle situation demande de mettre en place du pooling de connexion?


Plus particulièrement, j'ai pu lire un article sur Dalibo qui disait qu'au delà de 1000 connexions concurrentes, il fallait envisager du pooling de connexion. Est ce toujours d'actualité pour la 9.3.4?


Si oui, quels est alors l'inconvénient de positionner un max_connections > 1000? Est ce un problème de gestion de la mémoire partagée ou autre?


Voici l'extrait sur http://www.dalibo.org/hs44_rapide_confi … postgresql:


Par défaut, il est à 100, ce qui est une valeur généralement correcte. Il ne faut pas hésiter à l'augmenter, tout en sachant que des valeurs supérieures à 1000 ne sont pas conseillées. Il vaudra mieux utiliser un pooler de connexions dans ce cas. Les deux disponibles pour PostgreSQL vous seront présentés dans le reste de ce hors-série. 


Merci d'avance pour vos explications en espérant avoir été assez précis dans mes demandes.

#11 Re : Réplication » scp via archive_command ou scp via restore_command? avec STREAMING » 30/04/2014 14:18:03

Désolé de répondre aussi tardivement à vos réponses.

Vos réponses confirment la vision que j'avais du fonctionnement.

Par contre pour la gestion des archives WAL sans ressources partagées.

Mieux vaut il faire le scp vers le secours depuis le primaire via un script déclaré dans l'archive_command ou vaut il mieux effectuer le scp depuis le secours via la restore_command qui va récupérer l'archive WAL sur le primaire?

Merci pour vos réponses.

#12 Réplication » scp via archive_command ou scp via restore_command? avec STREAMING » 15/04/2014 16:44:53

Kore
Réponses : 4

Bonjour,

Je voudrais avoir vos lumières sur les bonnes pratiques concernant la gestion des archives WAL dans une configuration MAITRE/ESCLAVE avec streaming Replication.
Notamment la configuration des paramètres archive_command sur le maitre dans le postgresql.conf et restore_command dans le recovery.conf sur l'esclave.

Je pars du principe qu'il n'y a pas de ressource partagée donc toutes les opérations se font via scp.

Quelle est la bonne pratique à utiliser?

Faut il envoyer via scp les archive_WAL depuis le maitre vers le standby via archive_command (en plus de l'archivage local des WAL sur le maitre)? Dans ce cas, que vaut le paramètre restore_command?

ou

Faut il seulement archiver sur le maitre en local via archive_command et récupérer les archives_WAL depuis le standby via scp dans la restore_command du recovery.conf du slave?

ou

les deux solutions se valent. Mais quels sont les avantages et inconvénients de telle ou telle configuration.

Auriez vous un exemple simple pour illuster en prenant en compte que le host du maitre pgprmy et le host du standby est pgstdby?



Une autre question bonus sur la gestion du lag avec la streaming replication :

Les archives WAL sont ils utilisés pour remonter un gros gap dans le cadre d'une réplication par flux?

Admettons j'arrête le standby un temps. je génère du WAL sur le primaire. Je redémarre le standby.

Comment se comporte le standby pour remonter le gap? Récupère t il les WAL et les appliquent d'abord. Puis une fois remonté, il repasse en mode stream?

ou

Remonte il le gap directement par la réplication en flux sans passer par les WAL?

Je vous remercie d'avance pour les réponses que vous pourrez m'apporter.

#13 Re : Réplication » PgPool + Stream avec deux secours » 30/03/2014 15:30:25

Bonjour
Merci pour ces précisions.
Cordialement

#14 Réplication » PgPool + Stream avec deux secours » 28/03/2014 12:59:14

Kore
Réponses : 4

Bonjour,

J'ai parcouru la documentation de pgpool-II. je souhaiterai avoir des explications sur ce passage dans le chapitre "Failover with Streaming Replication":

If a second standby took over primary when the first standby has already taken over too, you would get bogus data from the second standby.
We recommend not to plan this kind of configuration.

Cela veut il dire qu'il faut éviter les configurations à plusieurs standby pour une configuration pgpool + streaming?

Pour information, il s'agit d'une conf pgpool3.3.2 et postgreSQL 9.3.4

Merci d'avance pour les réponses que vous pourrez m'apporter.

Cordialement

#15 Re : Réplication » changement de master avec plusieurs standby (PostgreSQL v9.3) » 25/03/2014 17:47:54

Merci pour votre réponse.

En effet, c'était bien de cette amélioration que je parlais.

Je viens de tester.

J'avais oublié de changer le numéro de port d'écoute dans le recovery.conf de mon second standby dans primary_conninfo lors de mes tests de failover.

Cette amélioration très intéressante est bien présente en 9.3.

Pour l'info : il a juste suffit de positionner recovery_target_timeline = 'latest' et de reconfigurer le primary_conninfo pour le faire pointer vers le nouveau maitre sur le secours restant.

Merci pour votre réactivité!

#16 Réplication » changement de master avec plusieurs standby (PostgreSQL v9.3) » 25/03/2014 16:18:35

Kore
Réponses : 2

Bonjour,

J'ai lu une documentation provenant de DALIBO ("Les nouveautés de PostgreSQL 9.3") qui évoque le changement de MASTER dans une configuration avec plusieurs secours pointant sur le même master. (Je ne parle pas du cas d'un "cascading" de serveurs de secours).

Le mode de réplication n'étant pas précisé, j'en ai déduit qu'on parlait de log shipping et/ou de réplication par flux.

A l'époque de ce document, la version PostgreSQL était encore en version 9.3 beta 1.

En effet, voici l'exemple cité dans ce document :

Avant 9.3 : Un clone ne peut pas changer de source

Avec 9.3
• P1 réplique vers R1, R2 et R3.
• P1 est arrêté pour maintenance
• R1 devient le serveur principal
• R2 et R3 se “raccrochent” à R1

Est ce que ceci est possible avec la 9.3 actuelle ou est ce que c'était une amélioration de la réplication qui était prévue pour la 9.3 à l'origine et qui a été repoussé pour une version future?

Si cela est possible, est ce automatique (avec une configuration du recovery.conf) ou faut il raccrocher les autres secours au nouveau maitre à la main?

Toujours, dans le cas où c'est possible, existe il une documentation sur la mise en œuvre d'une telle configuration (plus précisément le rattachement des secours restant sur le nouveau maître)  ?

En effet, j'ai parcouru le chapitre "Haute disponibilité" dans la documentation officielle 9.3.4 mais je n'ai rien trouvé sur ce sujet. (A part le paramètre recovery_target_timeline = 'latest' dans le cas d'un cascading de serveurs).

Merci d'avance pour les réponses que vous pourrez m'apporter.

Cordialement

#17 Re : Général » sauvegarde postgres avec Bacula? » 02/07/2013 10:04:46

Je suppose que vous parlez des commandes pg_start_backup et pg_stop_backup.
Merci pour votre réponse.

#18 Général » sauvegarde postgres avec Bacula? » 01/07/2013 09:51:37

Kore
Réponses : 3

Bonjour,

Je viens vers vous pour savoir si une sauvegarde à chaud d'une instance Postgres peut être effectuée via bacula?

Je fais des recherches sur le sujet à titre personnel.

J'ai vu que netBackup pouvait le faire via les sauvegardes PITR.

Par contre Bacula qui s'appuye sur une base PostgreSQL pour gérer son catalogue, peut-il servir d'outil de sauvegarde pour le répertoire PGDATA d'une instance?

Avez vous des informations sur ce point?   

Je vous remercie d'avance.

Cordialement.

#19 Re : Optimisation » questions sur postgres » 27/06/2013 01:23:05

Merci pour ses explications claires et pour votre réactivité.

En effet, je n'avais pas très bien compris les mécanismes de réplication par flux.

#20 Re : Optimisation » questions sur postgres » 26/06/2013 22:41:51

Bonsoir,

Merci  à vous 3 pour ses réponses rapides.

Il est vrai que ma question 14 n'a pas de sens. En tout cas elle est mal formulée.
Je voulais dire quelles sont les différences entre Postgres et PostgresPlus d'entrepriseDB?
En tout cas gleu m'a éclairé un peu sur ce sujet.

Pour revenir à la streaming replication et la réponse de gleu.

Du coup, je n'ai pas du comprendre correctement le mécanisme de la streaming replication en mode synchrone.

Quand vous parlez d'écriture sur disque, vous voulez dire que le primaire attend la validation de l'écriture dans le WAL du secours qui sera appliqué ensuite?

En tout cas, merci pour ces informations. J'y vois plus claire maintenant. smile

#21 Optimisation » questions sur postgres » 26/06/2013 10:50:14

Kore
Réponses : 6

Bonjour,

(Désolé je viens de me rendre compte que j'ai posté au mauvais endroit)

Je viens du monde Oracle et je m’intéresse très sérieusement à Postgres (et ses projets satellites) qui est ma foi un très bon SGBD open source.
Avant de me prendre une rafale, je ne suis pas pro-Oracle ni pro-Postgres. Je cherche juste le bon compromis en fonction des besoins.
La documentation Postgres est très bien faite, mais certains points sur des fonctionnalités voir sur des "projets satellites" restent assez obscures.
Je me retourne donc vers vous, peut être pourriez vous me donner certaines informations?

1 - Y a t il un équivalent (et de la documentation) chez Postgres pour l'option "OLAP Oracle" d'Oracle? Ou une alternative?

2 - Avez vous des retours sur la mise en place de la "streaming replication" en environnement de production? Quels sont les critères pour choisir entre la "streaming replication" et le "log shipping"? Est elle viable sur de gros volumes de données et des fréquences d'écritures élevées?

3 - J'ai pu lire que la streaming replication synchrone garantissait que la donnée était commitée sur le secours mais ne garantissait pas la visibilité identique des données sur le maître et le secours dans le cas d'une répartition de charge? est ce correct? Si oui, dans quel cas cela peut se produire?

4 - J'ai pu lire (malheureusement j'ai pommé la source sur le net - désolé d'être étourdi) qu'une nouvelle solution pour le partitionnement était envisagée? Est ce correct? Si oui, qui s'en occupe et pour quand ou quelle version est elle prévue?

5 - Y a t il une réflexion en cours pour l'implémentation des requêtes multi-threadées (parallélisme)?
     J'ai lu sur le blog d'un membre de la core team qu'il s'agit d'une des priorités de la version 9.4? Est ce correct? Et à quelle échéance?

6 - Postgres-XC est il voué à faire concurrence à ORACLE RAC? Avez vous des informations sur l'avancement de ce projet?

7 - Peut on affecter des quotas de ressources et des quotas sur un tablespace à un utilisateur via Postgres?

8 - Y a t il un projet en réflexion pour le développement d'une interface de monitoring équivalent à OEM 12c d'Oracle? Existe il une alternative payante ou open source?

9 - Les outils étant très riches mais non centralisés, quels outils me conseillez vous :

- pour contrôler une architecture de réplication en fonction de la solution mise en place (slony, pgPool-II avec streaming ou non, log shipping)? Pour détecter qu'un secours est mort? Pour contrôlerle lag entre le maitre et les secours?
- pour contrôler l'utilisation de la mémoire et l'espace de stockage?
- pour contrôler la charge sur le serveur
- pour explorer les logs
- pour récupérer les requêtes les plus consomatrices

10 - Existe il un outil développé par la communauté pour effectuer de l'anonymisation de données? Si non quelle alternative connaissez vous?

11 - Peut on effectuer des sauvegardes incrémentales (cumulatives et différentielles) pour des backups physiques équivalents à ceux de l'outil RMAN d'Oracle? Peut on restaurer qu'une partie de la sauvegarde? Par exemple, restaurer physiquement une table uniquement en cas de corruption de données et rejouer les WAL sur ce fichier? Ou faut il systématiquement restaurer la dernière sauvegarde complète? Dans ce cas, quelles sont les techniques possibles pour gérer la restauration de gros volumes de données?

12 - Y a t il un équivalent des jobs Oracle chez Postgres?

13 - La compression  de données est elle possible sous postgres? compression d'une colonne, d'une table?

14 - Questions bonus : Quelles sont les différences entre Postgres et EntrepriseDB? (je parle en terme de fonctionnalités, performances.. je sais qu'EntrepriseDB est payant wink )

Je sais que ça fait énormément de questions.
Je vous remercie d'avance pour les réponses que vous pourrez me fournir.
Cordialement.

Pied de page des forums

Propulsé par FluxBB