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 Re : Installation » phppgadmin » 18/01/2011 15:21:54

Bonjour,

J'ai fait ma petit installation de phpPgadmin, ben je suis déçu par la produit je pensais que c'était plus fourni que pgAdmin3 lol.
C'est plus orienté développeur que administrateur, on voit pas la memoire de l'instance... je trouve ca un peu pauvre, bien sur on doit pouvoir faire c'est propre fonction...mais je connais pas assez postgres et php
Il y a t il un autre outil, qui ferai a penser a toad par exemple ?

Merci

#2 Re : Général » encore des questions » 14/01/2011 12:22:45

3°) Peut-on archiver les log via tsm… sauvegarder via tsm…
Oui il faut appeler un script qui contient une commande dsmc via l' archive_command du postgres.conf

postgres.conf

archive_command = '/save/archive_command.sh %p nom_intance >/dev/null'


exemple /save/archive_command.sh:
dsmc a -desc=${2}$(date +'%Y%m%d') /Base/${2}/data/${1}
exit $?

#4 Re : Installation » phppgadmin » 06/01/2011 10:11:31

Effectivement c'est ma question et je m'aperçois que la conf du hba a l'ip est trop restrictive dans ce cas.
Peut on trouver une doc qq part sur phppgadmin, ou c'est très intuitif et il n'y a pas de nécessité a avoir de doc.

#5 Installation » phppgadmin » 05/01/2011 18:18:27

postman
Réponses : 5

Bonjour,

Je prévois de faire une installation de phppgadmin pour centraliser l'administration de instances postgresql. Par contre je n'ai pas trouvé de doc et je pose qq question sur le paramétrage des instances a administrer :
Decouverte des instances postgres par phppgadmin ? ou manuel
Doit on configurer de l'ip de la machine qui héberge phphpgadmin dans tous les hba des instances ?

Merci pour vos infos

#6 Re : Général » directive sql » 22/12/2010 12:07:58

Très bien, c'est dommage car en cas de pb c'est pratique, même si effectivement c'est pour palier a de pb de conception sql ou modèle.

Merci.

#7 Re : Général » directive sql » 22/12/2010 11:58:18

C'est plus dans le cas d'etude de comparaison de SGBD, par exemple si j'ai un prob de prod qu'une requete prendre pas le bon index car le modèle de données n'est pas bon, une purge n'est pas faite, cas d'un progiciel ou on ne peut pas intervenir. Sur certain moteur on peut mettre des directives externes ( pas un hint dans les requêtes ).
Voila j'ai pas de cas concret sur postgres ce jour car très peut de base encore.

Merci.

#8 Général » directive sql » 22/12/2010 11:40:01

postman
Réponses : 5

Bonjour,

J'ai pas trouvé dans la doc, et je me pose une question.
Sous postgres, a t on le moyen de définir une directive sql pour obliger tel ou tel plan d'exécution de requête.

Merci pour votre réponse.

#9 Re : Général » SQL distinct contre group by » 13/12/2010 17:27:02

En conclusion, si j'ai bien compris,  je prend la methode la plus rapide pour la 8.3 meme si c'est pas la plus jolie syntaxiquement wink. Et en cas de probleme de limite du au grand nombre de valeur l'optimiseur postgres ce chargera de remplacer le hash agreate du groupy par un sort.

Merci pour tes réponses.

#10 Re : Général » SQL distinct contre group by » 13/12/2010 17:17:35

Tu dis un nombre limité ou peut on trouver la valeur exacte ? et en cas de depassement il y a un plantage  de la requete ?

#12 Général » SQL distinct contre group by » 13/12/2010 16:23:45

postman
Réponses : 7

Bonjour,

Je cherche a optimiser une requete SQL,j 'ai reussit mais je m'explique pas pourquoi:
service 126 rows pk sur code_service
stats_nationales 600000

select distinct SN.id_service,S.libelle
from service S, stats_nationales SN
where SN.id_service = S.code_service 
order by S.libelle ASC;

Tps de reponse moyen 20s

select S.code_service,S.libelle
from service S
where S.code_service in ( select SN.id_service from stats_nationales SN group by SN.id_service ) 
group by S.code_service,S.libelle
order by S.libelle;

Tps de reponse moyen 300ms


Je me suis appercu que les group by etaient beaucoup plus rapide que le group by sans clause de group  POURQUOI ????
merci de vos reponses.

#13 Re : Général » Autovaccum vers 8.3.5 » 14/01/2010 12:27:08

Bonjour,

Vous dite qu'une transaction en cours sur la table bloque le déclenchement de l'autovacuum ?

Je consulte les documentations et contrib merci

#14 Re : Général » Autovaccum vers 8.3.5 » 14/01/2010 10:57:12

Il me semble de le fait de passer l'autovacuum libère les pointeurs des lignes mortes pour pouvoir les réutiliser par la suite pour d'autre insertion.
L'espace n'est pas rendu au system, mais postgres la considère comme libre puisque le lignes n'existe plus.
Pour voir l'augmentation disque je fait un df sur le filesystem de l'instance.

Les deletes sont fais un a un par un ordre classique de delete sql sur un identifiant de pk de la table.

#15 Général » Autovaccum vers 8.3.5 » 13/01/2010 18:02:14

postman
Réponses : 5

Bonjour,

J'ai un pb d'autovacuum, sur des suppression massives il semble qu'il s'arrête d'analyser une table ( celle ou il y a les suppressions ). Si je relance le traitement de suppression au début il repasse un autovacuum puis plus rien???
Le pire c'est qu'il ne réutilise pas les lignes vides pour de nouvelle insertion ?


Insertion 767736 lignes

Taille de l'instance 5Go

Suppression 767111 lignes -  lignes mortes a récupérer 757008

     Table      | lignes_inserees | lignes_maj | lignes_supprimees | l_vivantes | l_mortes |    autovacuum    |   autoanalyze    | last_vacuum | analyze
----------------+-----------------+------------+-------------------+------------+----------+------------------+------------------+-------------+---------
jbm_counter    |               2 |          2 |                 0 |          2 |        2 |                  |                  |             |
jbm_user       |               5 |          0 |                 0 |          5 |        0 |                  |                  |             |
jbm_role       |               9 |          0 |                 0 |          9 |        0 |                  |                  |             |
jbm_id_cache   |             500 |     767236 |                 0 |        500 |        0 | 13/01/2010 15:23 | 13/01/2010 15:23 |             |
jbm_msg        |          767736 |          0 |            767111 |       7417 |   757008 | 13/01/2010 15:06 | 13/01/2010 15:02 |             |
jbm_postoffice |              26 |          0 |                 0 |         26 |        0 |                  |                  |             |
jbm_msg_ref    |          767736 |    1994168 |            767135 |        181 |    15777 | 13/01/2010 15:31 | 13/01/2010 15:31 |             |
jbm_dual       |               1 |          0 |                 0 |          1 |        0 |                  |                  |             |
jbm_tx         |               0 |          0 |                 0 |          0 |        0 |                  |                  |             |
(9 rows)

Taille de l'instance 5Go

arret de la suppression car plus déclenchement d'autovacuum aprés 5mn de traitement

Relance de la suppression l'autovacuum libère les lignes mortes supprimé avant et laisse pour morte les nouvelles soit environ :7589

     Table      | lignes_inserees | lignes_maj | lignes_supprimees | l_vivantes | l_mortes |    autovacuum    |   autoanalyze    | last_vacuum | analyze
----------------+-----------------+------------+-------------------+------------+----------+------------------+------------------+-------------+---------
jbm_counter    |               2 |          2 |                 0 |          2 |        2 |                  |                  |             |
jbm_user       |               5 |          0 |                 0 |          5 |        0 |                  |                  |             |
jbm_role       |               9 |          0 |                 0 |          9 |        0 |                  |                  |             |
jbm_id_cache   |             500 |     767236 |                 0 |        500 |        0 | 13/01/2010 15:23 | 13/01/2010 15:23 |             |
jbm_msg        |          767736 |          0 |            767277 |       7589 |      135 | 13/01/2010 15:36 | 13/01/2010 15:02 |             |
jbm_postoffice |              26 |          0 |                 0 |         26 |        0 |                  |                  |             |
jbm_msg_ref    |          767736 |    1994225 |            767291 |          0 |       47 | 13/01/2010 15:37 | 13/01/2010 15:37 |             |
jbm_dual       |               1 |          0 |                 0 |          1 |        0 |                  |                  |             |
jbm_tx         |               0 |          0 |                 0 |          0 |        0 |                  |                  |             |
(9 rows)

Taille de l'instance 5Go

Relance de l'insertion massive, pas de réutilisation des lignes vide ???


     Table      | lignes_inserees | lignes_maj | lignes_supprimees | l_vivantes | l_mortes |    autovacuum    |   autoanalyze    | last_vacuum | analyze
----------------+-----------------+------------+-------------------+------------+----------+------------------+------------------+-------------+---------
jbm_counter    |               2 |          2 |                 0 |          2 |        2 |                  |                  |             |
jbm_user       |               5 |          0 |                 0 |          5 |        0 |                  |                  |             |
jbm_role       |               9 |          0 |                 0 |          9 |        0 |                  |                  |             |
jbm_id_cache   |             500 |    1666651 |                 0 |        500 |       27 | 13/01/2010 16:06 | 13/01/2010 16:06 |             |
jbm_msg        |         1667153 |          0 |            767736 |     906547 |      594 | 13/01/2010 15:36 | 13/01/2010 15:02 |             |
jbm_postoffice |              26 |          0 |                 0 |         26 |        0 |                  |                  |             |
jbm_msg_ref    |         1667166 |    2889471 |            767736 |     899796 |   157454 | 13/01/2010 15:54 | 13/01/2010 16:06 |             |
jbm_dual       |               1 |          0 |                 0 |          1 |        0 |                  |                  |             |
jbm_tx         |               0 |          0 |                 0 |          0 |        0 |                  |                  |             |

Taille de l'instance 9Go

conf par defaut sur l'autovaccuum

#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

#autovacuum = on                        # Enable autovacuum subprocess?  'on'
                                        # requires track_counts to also be on.
#log_autovacuum_min_duration = -1       # -1 disables, 0 logs all actions and
                                        # their durations, > 0 logs only
                                        # actions running at least that time.
#autovacuum_max_workers = 3             # max number of autovacuum subprocesses
#autovacuum_naptime = 1min              # time between autovacuum runs
#autovacuum_vacuum_threshold = 50       # min number of row updates before
                                        # vacuum
#autovacuum_analyze_threshold = 50      # min number of row updates before
                                        # analyze
#autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1  # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum
                                        # (change requires restart)
#autovacuum_vacuum_cost_delay = 20      # default vacuum cost delay for
                                        # autovacuum, -1 means use
                                        # vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for
                                        # autovacuum, -1 means use
                                        # vacuum_cost_limit



PS la table jbm_msg est toasté

Merci pour vos pistes

#16 Re : Général » [RÉSOLU] affiche sous psql des caratere null » 11/01/2010 16:55:12

Merci  pour vos réponses ca correspond exactement a ce que je voulais et merci pour le lien sur la doc psql, je l'avais pas trouvé.

#17 Re : Général » [RÉSOLU] affiche sous psql des caratere null » 11/01/2010 15:05:55

C'est bien ca, je te remercie, pour ce renseignement.
Je cherche également a supprimer les entêtes d'un select :



You are now connected to database "dbpostgres".
Default footer is off.
                                 ?column?
---------------------------------------------------------------------------

CREATE SEQUENCE acces_test START WITH 25785 OWNER TO dba;

#18 Général » [RÉSOLU] affiche sous psql des caratere null » 11/01/2010 12:50:45

postman
Réponses : 5

Bonjour,

Je souhaite afficher les caractères null ( notamment les chaines vide ) en substituant le caractère null par un autre caractère comme sous sqlplus d'oracle :  set CHAINENULL  null

Merci pour vos suggestions.

#19 Re : Général » Suppression de wal pour revenir au paramètre par défaut checkpoint_seg » 31/03/2009 16:38:51

Oui il y a eut un pb d'archive pendant un moment.
Ok pour l'astuce du chekpoint pour supprimer les wals en trop.
Et merci pour l'info je pensé effectivement a tord que checkpoint_segments était le nombre maxi de wal.

#20 Général » Suppression de wal pour revenir au paramètre par défaut checkpoint_seg » 18/03/2009 10:11:36

postman
Réponses : 2

Bonjour a tous,

J'ai un petit problème, suite a une erreur sur TSM les wals de mon instance n'ont pas étaient sauvegardé pendant un certain temps, et le moteur postgresql a créé plus de log que le nombre par défaut checkpoint_segments = 16.
Le pb TSM est corrigé mais j'ai un grand nombre de wals, comment faire pour revenir au paramètre par défaut de checkpoint_segments ?
Le moteur reduit-il le nombre de wal tout seul au bout de certain temps ( je doute ). Il y a bien la commande pg_restxlog -f qui supprime tous les wals mais ca me semble un peu dure comme méthode pour un serveur de production ?

Merci pour votre aide.

Pied de page des forums

Propulsé par FluxBB