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 14/01/2010 10:11:16

mich30
Membre

petit script pour ma SVG

bonjour je cherche un petit script
en .sh qui parcours tous les schema d'une base de donnée

et qui lance  /usr/local/pgsql/bin/pg_dump bd -Fc -x -O -t schemax.* -U mich >  /home/mich/schemax.gz
comment fait t'on
merci

Hors ligne

#2 14/01/2010 10:34:09

gleu
Administrateur

Re : petit script pour ma SVG

La liste des schémas se trouve dans le catalogue système pg_namespace (http://docs.postgresqlfr.org/8.4/catalo … space.html).


Guillaume.

Hors ligne

#3 14/01/2010 11:21:31

daamien
damien clochard

Re : petit script pour ma SVG

r='select nspname from pg_namespace ;'
for s in `echo $r|psql --tuples-only`; 
do 
echo $s; 
done;

tu remplaces la ligne echo $s par la commande que tu veux lancer

Hors ligne

#4 14/01/2010 11:38:27

Marc Cousin
Membre

Re : petit script pour ma SVG

Attention, ça ne marche que si les namespaces n'ont pas de caractère d'espacement dedans (sait on jamais smile )
Sinon il faut modifier la variable IFS à '^J' (controlV+J, l'escape du retour de chariot))


Marc.

Hors ligne

#5 14/01/2010 17:35:41

mich30
Membre

Re : petit script pour ma SVG

j'ai fait le script mis dans .sh il me sort    echo $r|psql --tuples-only   ???
merci

Hors ligne

#6 14/01/2010 17:59:38

Marc Cousin
Membre

Re : petit script pour ma SVG

Avez vous bien mis des 'backquotes' et non pas des quotes autour du echo ?


Marc.

Hors ligne

#7 15/01/2010 11:06:14

mich30
Membre

Re : petit script pour ma SVG

ok merci une petite question
a la place je mets $R pour parametrer les schemas ?
for s in `echo $r | /usr/local/pgsql/bin/pg_dump bd -Ft -x -O -n $r  -U user    > /home/moi/$r.tar


merci
#!/bin/sh
r='select nspname from pg_namespace where nspname ;
for s in `echo $r | /usr/local/pgsql/bin/pg_dump bd -Ft -x -O -n $r  -U user    > /home/moi/$r.tar
`
do echo $s;
done;

Hors ligne

#8 15/01/2010 17:19:46

mich30
Membre

Re : petit script pour ma SVG

j'ai contourné
j'ai créer un .sh et mis dedans ces 6 lignes
#$1 nom utilisateur acces base de donne
#$2 repertoire de destination
#$3 password
# exemple ./sauvegarde.sh mich /home/mich
/usr/local/pgsql/bin/pg_dump bd  -Fc -x -O  -n exemple2 -U  $1 -w  >  $2/exemple2.gz
/usr/local/pgsql/bin/pg_dump bd  -Fc -x -O  -n exemple -U  $1 -w  >  $2/exemple.gz

1ere question
je lance avec ./sauvegarde.sh  mich /home/mich
il me demande 2 fois le mot de passe  !!! 

2) eme question 
mon but est quand je fais un pg_dump il faut  que le pgrestore se passe bien
j'ai vu que l'option -n dans la doc  ne sauvegarde aucun objet j'ai mis -n car le nom du schéma .* ne marchez pas

cette ligne ci dessous ne marche pas
/usr/local/pgsql/bin/pg_dump bd -Fc -x -O   exemple2.* -U  $1 -w  >  $2/exemple2.gz

cette ligne ci dessous marche
/usr/local/pgsql/bin/pg_dump bd  -Fc -x -O  -n exemple -U  $1 -w  >  $2/exemple.gz

mais l'option -n ne me plait pas

comment faites vous ?



merci beaucoup

Dernière modification par mich30 (15/01/2010 17:27:00)

Hors ligne

#9 15/01/2010 17:26:30

Marc Cousin
Membre

Re : petit script pour ma SVG

Pour la première question : il y a 2 commandes pg_dump, donc 2 demandes de mot de passe
Pour la seconde, aucune idée, je fais toujours des dumps complets, en format custom, histoire d'être sûr de tout pouvoir restaurer, de façon sélective.


Marc.

Hors ligne

#10 15/01/2010 17:28:22

mich30
Membre

Re : petit script pour ma SVG

c'est a dire la base de données complete ? , de sauvegarder par schéma ce n'est pas recommander ?

Hors ligne

#11 15/01/2010 17:29:31

mich30
Membre

Re : petit script pour ma SVG

peut tu me donner ta ligne de commande pg_dump merci

Hors ligne

#12 15/01/2010 17:53:28

mich30
Membre

Re : petit script pour ma SVG

1)
#!/bin/sh
export PGPASSWORD=mypassword
pg_dump -f back-up-file.sql -U toto mydatebase

ca ca marche il demande pas de mot de passe


2) sauvegarde par schema c'est pas trop bon ?

- vaux mieux une svg complete de la base ?
- puis sauvegarder des schemas

car en dump de la base en fin de semaine la place
sur mon nas va explosé!

@+

Hors ligne

#13 15/01/2010 18:22:04

Marc Cousin
Membre

Re : petit script pour ma SVG

La sauvegarde par schema ça peut être bon, si tu n'oublies aucun schéma (penser à mettre les nouveaux schémas dans le script de sauvegarde à chaque fois que tu en crées un nouveau), et si les données entre schémas n'ont pas besoin d'être cohérentes.


Marc.

Hors ligne

#14 16/01/2010 14:28:54

mich30
Membre

Re : petit script pour ma SVG

Merci Marc normalement il n' y a pas de lien entre schema
mais bon je vais faire un petit test de restauration avec l'option -n
pour éviter les mauvaises surprises

je vais faire aussi un pg_dump de ma base totale
- avec SELECT pg_database_size('mabase');
- puis apres compression avec custom ca comprime a combien 50% ?
- enfin je connaitrez l'espace comprimé et je le copierez sur mon nas
- c'est comme ca que tu fais toi ?

je te remercie
michel

Hors ligne

#15 16/01/2010 18:47:40

gleu
Administrateur

Re : petit script pour ma SVG

La compression réalisée dépend des données, il est donc impossible de répondre le pourcentage de compression auquel il faut s'attendre.


Guillaume.

Hors ligne

#16 16/01/2010 20:12:50

mich30
Membre

Re : petit script pour ma SVG

Ok merci , ta base totale tu la sauvegarde ou sur NAS , BANDE , ???
Merci
tu procedes comment en fait
merci !

Hors ligne

#17 16/01/2010 21:21:43

Marc Cousin
Membre

Re : petit script pour ma SVG

Le pg_dump, c'est vers disque. Après, le fichier, tu en fais ce que tu veux smile


Marc.

Hors ligne

#18 16/01/2010 21:32:31

mich30
Membre

Re : petit script pour ma SVG

Ok merci bon dimanche
Michel

Hors ligne

Pied de page des forums