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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 24 May 2017 10:45

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

[PostgreSQL 9.3] sauvegarde table très grosse

Bonjour,

Je souhaite sauvegarder une table géographique comprenant 14 millions de lignes. J'estime le temps à plus d'une journée si je le fais par un pg_dump brut.
Si je la lance telle quelle, je vais saturer mon serveur, bloquer les utilisateurs de mon site et je ne suis pas sûr qu'elle aboutisse.

Y a-t-il un moyen de sauvegarder en plusieurs temps? Vu que c'est une table contenant une quinzaine de départements, je pensais travailler département par département en faisant une requête sur le code dep.
Est-ce possible de faire un dump d'un requête sql?

cordialement,
Romary

Hors ligne

 

#2 Wed 24 May 2017 11:18

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

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Romary a écrit:

Bonjour,

Je souhaite sauvegarder une table géographique comprenant 14 millions de lignes. J'estime le temps à plus d'une journée si je le fais par un pg_dump brut.
Si je la lance telle quelle, je vais saturer mon serveur, bloquer les utilisateurs de mon site et je ne suis pas sûr qu'elle aboutisse.

Y a-t-il un moyen de sauvegarder en plusieurs temps? Vu que c'est une table contenant une quinzaine de départements, je pensais travailler département par département en faisant une requête sur le code dep.
Est-ce possible de faire un dump d'un requête sql?

cordialement,
Romary


Sur quelle base fondez-vous votre estimation ?

Vous pourriez planifier la sauvegarde sur une période où le serveur est peu sollicité (nuit, week-end...)


Jean-Marie
Azimut

Hors ligne

 

#3 Wed 24 May 2017 11:57

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

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Bonjour,

Une autre solution qui je pense jouable est le fait de télécharger le dossier data de postgresql chez vous pour ensuite remonter la base à partir de ces fichiers.

Sinon un script sql/ETL copiant petit à petit sur un autre serveur la table en question.

https://www.phpro.org/tutorials/Restore … Files.html

Bon courage smile

Dernière modification par heretik25 (Wed 24 May 2017 21:59)


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

Hors ligne

 

#4 Wed 24 May 2017 13:56

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Merci pour vos réponses.
Je base mon estimation sur un export d'une table de 9000 lignes pour laquelle j'ai fait mon essai.
Je ne peux risquer de lancer une telle requête même le we.

Je n'ai pas accès au système de fichier du serveur car ce dernier est géré par le prestataire.
Je vais donc voir du côté de la solution sql/ETL.

Cordialement,
Ry

Hors ligne

 

#5 Wed 24 May 2017 13:57

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

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Bonjour,

Une table de 14M de lignes devrait se dumper rapidement: qq minutes, heure max.
La base n'est pas bloquée par un dump: les autres utilisateurs pourront continuer a travailler, et la commande aboutira forcément, sauf si le disque sur lequel vous dumpez est plein.

Nicolas

Hors ligne

 

#6 Wed 24 May 2017 17:04

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Effectivement la base n'est pas bloquée mais je voulais plutôt dire que les ressources du serveur (partagé qui plus est) risquent d'être diminuées. Par ailleurs la sauvegarde ne se fait pas sur le serveur mais doit passer par les tuyaux du net pour arriver sur mon poste...

Je pense que je ferai un dump d'une vue qui filtre ma table. je ferai évoluer cette vue et réaliserai un dump à chaque fois. Sauf s'il y a mieux.

Ry

Dernière modification par Romary (Fri 26 May 2017 11:11)

Hors ligne

 

#7 Mon 29 May 2017 15:26

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [PostgreSQL 9.3] sauvegarde table très grosse

Finalement comme l'a indiqué Nicolas Ribot, le dump n'a finalement pas duré très longtemps (30min).
Merci de vos conseils efficaces.

Ry

Hors ligne

 

Pied de page des forums

Powered by FluxBB