Vous n'êtes pas identifié(e).
Bonjour à tous,
Je me suis fait surprendre par un comportement du binaire pg_restore que je n'explique pas :
en version 9.6 : pg_restore me donne le contenu du fichier d'export : je peux le lister et voir le sql contenu
en version 12 (vrai aussi pour la 13) pg_restore ne me donne que la liste (option -l) du fichier d'export, mais je ne peux pas voir le sql contenu
les doc https://docs.postgresql.fr/12/app-pgrestore.html et https://docs.postgresql.fr/9.6/app-pgrestore.html ne parlent pas de modification de comportement ?
/usr/lib/postgresql/9.6/bin/pg_dump -p 5436 -Fc >96.Fc.dmp -->ok
/usr/lib/postgresql/9.6/bin/pg_restore -l 96.Fc.dmp -->ok
/usr/lib/postgresql/9.6/bin/pg_restore 96.Fc.dmp -->ok
/usr/lib/postgresql/12/bin/pg_dump -p 5435 -Fc >12.Fc.dmp -->ok
/usr/lib/postgresql/12/bin/pg_restore -l 12.Fc.dmp -->ok
/usr/lib/postgresql/12/bin/pg_restore 12.Fc.dmp -->Nok
pg_restore: erreur : une seule des options -d/--dbname and -f/--file peut être indiquée
avez-vous une idée ?
merci par avance pour toute aide
Hors ligne
Bonjour,
Il s'agit d'un changement volontaire, et le changement de comportement est documenté bien que subtil :
-f nom_fichier, --file=filename
Spécifie le fichier en sortie pour le script généré ou pour la liste lorsqu'elle est utilisée avec -l. Utilisez - pour la sortie standard, qui est la sortie par défaut.
-f nom_fichier
--file=filenameSpécifie le fichier en sortie pour le script généré ou pour la liste lorsqu'elle est utilisée avec -l. Utilisez - pour stdout.
Notez la différence sur "qui est la sortie par défaut.". Bref, il vous suffit d'utiliser
pg_restore -f - ...
Julien.
https://rjuju.github.io/
Hors ligne
ah oui quand même ! un peu barbu
cela fonctionne effectivement
/usr/lib/postgresql/12/bin/pg_restore 12.Fc.dmp -f -
merci ! merci pour cette réponse aussi rapide qu'efficace
Hors ligne