Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 07/10/2016 15:54:36
- k13
- Membre
Probleme pg_dump [programme d'archivage (db)]
Bonjour,
Je me permets de creer un sujet car j'ai un soucis avec pg_dump. J'ai l'erreur suivante :
# pg_dump --username=postgres --no-password --verbose -N 'DE_*' --compress=2 --file=mydum.dump --format=custom MyBase
pg_dump: lecture des extensions
pg_dump: identification des membres d'extension
pg_dump: lecture des schémas
pg_dump: lecture des tables utilisateur
pg_dump: [programme d'archivage (db)] échec de la requête : ERROR: schema "DE_17" does not exist
pg_dump: [programme d'archivage (db)] la requête était : LOCK TABLE "DE_17"."dataLineIn" IN ACCESS SHARE MODE
Le probleme n'est pas systematique, par moment ca fonctionne sans erreur. J'avais ajouter l'option -N pour ne plus avoir de probleme avec les schemas mais cela ne semble pas regler le probleme
Avez vous une idee ?
Bonne apres midi
Hors ligne
#2 07/10/2016 16:26:09
- rjuju
- Administrateur
Re : Probleme pg_dump [programme d'archivage (db)]
Bonjour,
De quelle version de postgres s'agit-il ? (serveur et binaire pg_dump). Est-ce que votre applicatif créé et supprime de très nombreux schéma ? Il est possible qu'un dump échoue ainsi, mais c'est plutôt improbable. Sauf si votre catalogue système est extrêmement fragmenté et que récupérer la liste des tables prend un temps non négligeable. Quelle est la taille des objets pg_class, pg_attribute et pg_namespace sur la base que vous sauvegardez ?
Julien.
https://rjuju.github.io/
Hors ligne
#3 08/10/2016 19:40:39
- dverite
- Membre
Re : Probleme pg_dump [programme d'archivage (db)]
Le schéma DE_17 n'est pas exclu du dump malgré l'option -N 'DE_*' parce que les règles de mise en minuscule du SQL s'appliquent sur cette option.
La doc de pg_dump ramène à celle de psql au sujet de ces "motifs", et cette dernière doc dit:
http://docs.postgresqlfr.org/9.6/app-psql.html
Les caractères à l'intérieur du motif sont normalement mis en minuscule comme pour les noms SQL ;
par exemple, \dt FOO affichera la table nommée foo.
Comme pour les noms SQL, placer des guillemets doubles autour d'un motif empêchera la mise en minuscule
Donc pour exclure ces schémas en majuscules, il faudrait ajouter des guillemets autour de la partie fixe du motif, soit
pg_dump -N '"DE_"*' [...autres options]...
Dernière modification par dverite (08/10/2016 19:42:27)
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
#4 10/10/2016 09:01:36
- k13
- Membre
Re : Probleme pg_dump [programme d'archivage (db)]
Bonjour,
Merci pour vos reponses. Je suis en pg 9.5.3.
Oui l'applicatif supprime des schemas, alors je pense qu'au debut du dump le schema est present et il serait supprimer ensuite.
La notation '"DE_"*' semble fonctionner.
A+
Hors ligne
Pages : 1