Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Mon 05 March 2018 16:43

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Requete bloquée pgAgent

Bonjour,

Je cherche à mettre sur pied une tâche planifiée à l'aide de PgAgent afin d'automatiser une procédure d'import de données.

Un des pas part en erreur (sans message) et je n'arrive pas à cerner le problème.

=> La requête fonctionne en mode manuel (outil exécuter vos propres requêtes sql)
=> Les droits / paramétrage du pas sont les mêmes que ceux des 10 premiers (qui fonctionnent sans problème)
=> J'ai essayé de supprimer le pas défectueux, et de le re-générer, mais cela n'a rien changé

La requête en question (j'ai raccourci):

Code:

INSERT INTO migration.data_entreprise_jour_geo2_source ([ma liste de champs]) select * from migration.data_entreprise_import

La connexion est une connexion distante, j'ai bien précisé le nom d'utilisateur ainsi que le mot de passe dans la chaîne de connexion.

A ce point la je bloque, je ne sais plus de quel côté fouiller pour trouver le problème.
Avez connaissance de quelque chose (au niveau des droits) que pgAdmin laisserait passer mais qui serait bloquant pour pgAgent ?

Dernière modification par tevrard (Mon 05 March 2018 16:45)

Hors ligne

 

#2 Tue 06 March 2018 09:15

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9853
Site web

Re: Requete bloquée pgAgent

Bonjour,

As tu activé les logs et regardé la présence d'un message d'erreur (connexion, requête SQL) ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Tue 06 March 2018 09:17

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1016
Site web

Re: Requete bloquée pgAgent

Bonjour,

La requête fonctionne bien lorsque lancée deans PgAdmin ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#4 Tue 06 March 2018 10:22

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: Requete bloquée pgAgent

Yves a écrit:

Bonjour,

As tu activé les logs et regardé la présence d'un message d'erreur (connexion, requête SQL) ?

Y.


Je ne sais pas comment accéder aux logs. J'utilise juste les onglets propriétés et statistiques de pg admin qui me donnent quelques indications (mais pas de messages d'erreur).

Loic_GR a écrit:

Bonjour,

La requête fonctionne bien lorsque lancée deans PgAdmin ?


Oui la requête fonctionne bien sous pgadmin.



J'ai noté que j'avais plus de champs dans la table d'arrivée que dans la table de départ. J'ai remplacé le SELECT * par la liste de champs complète, à laquelle j'ai ajouté les champs attendus supplémentaire sous la forme NULL as monchamp
Pgadmin ne part pas en erreur sur la requête.

Pg agent bloque toujours sur ce pas.

Hors ligne

 

#5 Tue 06 March 2018 10:43

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9853
Site web

Re: Requete bloquée pgAgent

Bonjour,

Voici le processus :
* Dans pgAdmin, tu vas dans la section role, propriété du role que tu utilises, onglet variable, dans la liste déroulante tu cherches log_statement et tu la définie à all.
* Tu reload la configuration de pgsql (menu démarrer > postgresql > reload configuration)
* Tu fais tes requêtes, commande automisé
* tu regardes le fichier c:/Porgram File/PosggresqL/9.x/data/pg_log/XXXX.log

Quand tu as finie, tu reviens dans les propriétés de ton rôle pour définir log_statement à none ou pour le supprimer.

J'ai un doute, tu devras peut être te déconnecter et te reconnecter avec le reload du service.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Tue 06 March 2018 11:58

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: Requete bloquée pgAgent

Yves,
Aurais tu la manip sous linux ?

Si non, je vais continuer de creuser de mon côté

(Un grand merci dans tous les cas)

Hors ligne

 

#7 Tue 06 March 2018 17:51

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: Requete bloquée pgAgent

Je bloque ici : * tu regardes le fichier c:/Porgram File/PosggresqL/9.x/data/pg_log/XXXX.log

Dans mon répertoire /var/lib/postgresql/9.1/main je ne trouve pas pg_log mais un dossier pg_clog et un autre pg_xlog. j'ai des fichiers à l'intérieur mais ils sont illisibles (encodage a priori).
A quoi est censé ressembler un log?
Je cherche bien au bon endroit?

Hors ligne

 

#8 Tue 06 March 2018 22:11

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 566
Site web

Re: Requete bloquée pgAgent

Bonsoir,

Sous linux les logs sont dans /var/log/postgresql


Jean-Marie
Azimut

Hors ligne

 

#9 Wed 07 March 2018 09:35

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1534

Re: Requete bloquée pgAgent

Bonjour,

Houla attention, ne TOUCHEZ PAS a pg_clog et pg_xlog: ce sont les données au coeur de votre BD.

Les fichiers de logs ne sont pas dans /var/log/postgresql par défaut sous Linux.
En fait, ils sont là ou le fichier de conf les définit, souvent pas de log par défaut.

Le parametre log_directory vous dira où est votre fichier de log.

Code:

show log_directory;

Des infos sur les logs dans PG ici: https://www.postgresql.org/docs/10/stat … gging.html
mettez-les en place et jouez un peu avec avant de passer aux requetes auto.

Sous linux, je vous invite a passer par cron pour exécuter des tâches automatiques: ca marche très bien !

Nicolas

Dernière modification par Nicolas Ribot (Wed 07 March 2018 09:41)

En ligne

 

#10 Wed 07 March 2018 10:03

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9853
Site web

Re: Requete bloquée pgAgent

Nicolas,

Nicolas Ribot a écrit:

Bonjour,
Les fichiers de logs ne sont pas dans /var/log/postgresql par défaut sous Linux.
En fait, ils sont là ou le fichier de conf les définit, souvent pas de log par défaut.


Ben si dans une distrib digne de ce nom smile (Ubuntu et Debian) :p

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#11 Wed 07 March 2018 10:25

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: Requete bloquée pgAgent

Bonjour,

J'ai bien trouvé le fichier de log dans var/log/postgresql

Sur l'extrait du fichier en pièce jointe :
Les lignes 1 à 5 porte sur le pas n° 10 (le truncate) qui fini en succès
lignes 6 à 14 : pas n°11, qui fini en échec

je ne comprends pas les lignes suivantes. Les lignes 19 et 20 sont répétées constamment (toutes les 5 secondes) J'ai l'impression que leur rôle est de vérifier les planifications de tâches pour savoir si une tâche doit être lancée ou non (mais je ne suis pas sur).



Note : (et ça, ça me dépasse ...) le pas n°11 fini en échec, le pas n°12 ne se lance donc pas. Mais le pas n°11 s'effectue, je retrouve bien les lignes attendue dans la table cible du Insert Into défini dans le pas n°11.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#12 Wed 07 March 2018 11:26

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 566
Site web

Re: Requete bloquée pgAgent

Nicolas Ribot a écrit:

Bonjour,

Houla attention, ne TOUCHEZ PAS a pg_clog et pg_xlog: ce sont les données au coeur de votre BD.


Je suppose que c'est pour cela que debian (par exemple)  écrit par défaut les logs de postgresql dans /var/log smile

Nicolas Ribot a écrit:

Sous linux, je vous invite a passer par cron pour exécuter des tâches automatiques: ca marche très bien !


+1

Dernière modification par jmarsac (Wed 07 March 2018 11:27)


Jean-Marie
Azimut

Hors ligne

 

#13 Wed 07 March 2018 14:30

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 566
Site web

Re: Requete bloquée pgAgent

Le log semble indiquer que 319 lignes ont été insérées lors du pas 11 qui retourne pourtant un état d'erreur sans message associé, c'est bien le cas ?

Avez-vous regardé si vous aviez un fichier /var/log/pgagent.log

Il faudrait que pgagent soit lancé avec l'option -l2 (niveau DEBUG pour les logs) et éventuellement -s /var/log/pgagent.log
Vous pouvez rechercher un éventuel fichier de configuration dans /etc/pgagent ou dans /usr/share/pgadmin3


Jean-Marie
Azimut

Hors ligne

 

#14 Wed 07 March 2018 15:13

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: Requete bloquée pgAgent

Je dispose d'un fichier pgagent.log. Le seul contenu de ce fichier est "ERROR: Primary connection string is not valid!"


De mon côté, j'ai ajouté "END;" à la fin de ma requête, et cela me permet de terminer la procédure sans "Echec". Ma sortie me paraît cohérente.

Hors ligne

 

Pied de page des forums

Powered by FluxBB