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é ?

#1 Thu 11 July 2013 16:28

Gwen73
Participant occasionnel
Lieu: Chambéry
Date d'inscription: 23 Apr 2007
Messages: 17

[Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour,

J'ai une base de test et une base de prod Postgres/postgis.
J'ai fait des modifs sur les tables d'un des schémas de test.

Afin de ne pas refaire les mêmes manips' en Prod, je souhaite récupérer les nouvelles tables de test en Prod.

Pour cela, sous PgAdmin, je fais un clic droit sur le schéma en question de la base de test et je ne sauvegarde que la table qui m'intéresse. je génère ainsi un fichier SQL.

Je me connecte sur la base de Prod. Je lance l'éditeur SQL. Je vais chercher mon fichier SQL et l'exécute. J'ai le msg d'erreur suivant :
ERREUR:  erreur de syntaxe sur ou près de « TOI12 »
LINE 48: TOI12 Oisans Avenue de la gare 38520 Le Bourg-d'Oisans 01040...
         ^

********** Erreur **********


PS : j'ai également essayé de restaurer via un fichier backup, mais une fois la restauration effectuée, je me suis aperçu que la restauration n'avait pas réalisé l'intégration des données spatiales (pas de référence à la table concernée dans la table geometry_columns). J'ai donc récupéré une table alphanumérique !

>> Comment fait-on pour restaurer des données (avec de la géographie) lorsqu'on choisit que qq éléments et pas une BD entière ?

je vous remercie de votre aide

Hors ligne

 

#2 Thu 11 July 2013 16:50

pchevallot
Participant occasionnel
Lieu: METZ
Date d'inscription: 24 Apr 2008
Messages: 15
Site web

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Salut Gwen !

Tout d'abord tes deux bases ont-elles bien toutes deux les fonctions Postgis ?
Ensuite as-tu éventuellement essayé de procéder à un "copier-coller" depuis QGis ? Pour ma part, je procède ainsi entre une base à nous et une base de l'Agglo, ce qui peut s'apparenter à ton cas de figure.
Bonne continuation !

Pascal

Hors ligne

 

#3 Fri 12 July 2013 08:46

Gwen73
Participant occasionnel
Lieu: Chambéry
Date d'inscription: 23 Apr 2007
Messages: 17

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Salut Pascal,

Les 2 BD sont quasi-identiques et bien-sûr toutes les 2 avec PostGis.
Désolé, on n'est pas utilisateurs Qgis. Il doit bien y avoir une solution avec PgAdmin ou via un script.
Je te remercie.
A+

Hors ligne

 

#4 Fri 12 July 2013 10:26

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

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

pg_dump devrait faire l'affaire

http://docs.postgresqlfr.org/9.0/backup.html


Jean-Marie
Azimut

Hors ligne

 

#5 Fri 12 July 2013 15:10

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

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Pour abonder dans le sens de Jean-Marie:

Pg_dump est vraiment puissant pour exporter des objets d'une base vers une autre:
Son mode par défaut est de générer du SQL qui est donc directement compréhensible par la base sur laquelle on veut copier/restaurer l'objet.
Associé avec l'outil psql, cela permet en une seule commande (donc bien plus rapide que la manipulation de l'interface graphique de PgAdmin) de copier un objet entre deux serveurs Postgresql, comme par exemple:

Code:

pg_dump -t ma_table_a_exporter mabasesource | psql -h autre_serveur -d mabasedestination

Nicolas

Hors ligne

 

#6 Sat 13 July 2013 11:42

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

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour

Dans les versions récentes de pg_dump et pg_restore il y a des options pour
filtrer les schémas ou les tables en export ou/et en import.

Ca donnerai quelque chose comme :

pg_restore -t matable -d mabase monfichierdumpcomplet.dump

Il faut penser à supprimer la table avant. Bien sûr dans le cad d'un vrai
système relationnel les clés étrangères poseront problèmes.

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

 

#7 Tue 16 July 2013 10:05

gwen
Participant actif
Lieu: Guingamp
Date d'inscription: 14 Nov 2005
Messages: 72
Site web

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour,

Pour synchroniser deux bases avec une maître et l'autre esclave j'utilise la méthode suivante avec pg_dump et pg_restore :
ce fichier est un .bat sous windows

Code:

::*************************************************************************
::----------------   Paramètres ----------------------
::*************************************************************************
:: Date
echo %date%
set x=%date:/=-%
echo %x%

:: Dossier log et temporaire
set dossier_log=log
set dossier_tmp=tmp

:: Connexion PostgreSQL / PostGIS
:: Hôte distant :
set db_distant=192.168.1.1
:: Hôte local :
set db_host=192.168.1.2
:: Port :
set db_port=5432
:: Base de données :
set db_local=ma_base
set db_distant=ma_base
:: Schéma :
set db_schema=mon_schema
:: Utilisateur :
set db_user=mon_user


::choix des tables à transférer de la source vers la cible
set table=-t captage -t troncon -t branchement -t vanne -t decharge -t regpre -t raccord -t stockage -t hydrant -t refoul -t traitement



::****************************************************************************
::******      Procédure   **************
::****************************************************************************


:: ----------------   creation d'un dump du schema ----------------------
pg_dump.exe -i -h %db_distant% -p %db_port% -U %db_user% -n %db_schema% %table%  -Fc -b -v -f "%dossier_tmp%/%x%_dump_%db_schema%.dump" "%db_distant%" > %dossier_log%\%x%_log_dump_%db_schema%.log


:: ----------------   upload dump schema localhost ----------------------
pg_restore.exe -h %db_host% -p %db_port% -U %db_user% -d %db_local%  -n %db_schema% -c -O -x -v "%dossier_tmp%/%x%_dump_%db_schema%.dump" > %dossier_log%\%x%_log_restore_%db_schema%.log


:: ----------------   droit de consultation des couches ----------------------
psql.exe  -h %db_host% -p %db_port% -U %db_user% -d %db_local% -c "copy (SELECT 'GRANT SELECT ON TABLE ' || schemaname || '.' || tablename || ' TO GROUP consultation;' from pg_tables where schemaname = '%db_schema%') to STDOUT WITH CSV " > %dossier_tmp%/grant_select_%db_schema%.sql

psql.exe  -h %db_host% -p %db_port% -U %db_user% -d %db_local% -f  %dossier_tmp%/grant_select_%db_schema%.sql > %dossier_log%\log_transfert.log



::****************************************************************************
::******       Nettoyage du répertoire   **************
::****************************************************************************


del /Q %dossier_tmp%\*.* > %dossier_log%/log_transfert.log


Exit

Bon courage

Gwendal

Hors ligne

 

#8 Wed 11 September 2013 08:52

Gwen73
Participant occasionnel
Lieu: Chambéry
Date d'inscription: 23 Apr 2007
Messages: 17

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour à tous et merci pour vos réponses,

Finalement, on a trouvé mieux pour nous de créer un projet sous FME et de s'enservir pour transférer data et tables d'une base à l'autre.
A+

Hors ligne

 

#9 Wed 11 September 2013 12:17

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1229
Site web

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour,

voir aussi les possibilités offertes par l'extension dblink :

http://www.postgresql.org/docs/9.2/static/dblink.html

Mathieu


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#10 Mon 21 December 2020 23:43

tallseydi
Juste Inscrit !
Lieu: Podor
Date d'inscription: 15 Apr 2015
Messages: 2

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour
Je suis nouveau sur postgres
Je dispose de quatre fichiers de sauvegardes
Je voulais faire une restauration sur pgadmin 3
Je demandais à savoir s'il est possible d'en faire un seul fichier et le restaurer?
Merci

Hors ligne

 

#11 Tue 22 December 2020 16:33

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

Re: [Postgres/PostGis] Restauration de tables d'un schéma d'une BD

Bonjour,

Ca dépend du format: si ce sont des dumps SQL, oui on doit pouvoir tout mettre dans un seul fichier, mais pourquoi ?

en ligne de commande, la restauration de 4 fichiers SQL est rapide:

Code:

psql -d database -U user -f fichier.sql

(si les fichiers sont au format PG Dump, il faut utiliser l'outil pg_restore)

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB