Vous n'êtes pas identifié(e).
Pages : 1
bonjour a tous
débutante en monde postgresql
j'ai sauvegardé a base de donnée a travers pg_dump
pg_dump -d produit -U postgres -Ft -C >C:\BACKUP\Produit.sql
j'aimerai faire la restauration en écrasant l'existant
psql -U postgres -d produit <C:\BACKUP\produit.sql
résultat message d'erreur objet existant
SET
SET
SET
SET
CREATE EXTENSION
COMMENT
CREATE EXTENSION
COMMENT
SET
SET
ERREUR: la relation « tbl_itemtransactions » existe déjÃ
ALTER TABLE
ERREUR: la relation « tbl_itemtransactions_tranid_seq » existe déjÃ
ALTER TABLE
ALTER SEQUENCE
ALTER TABLE
merci pour vos aide
Hors ligne
C'est l'option -c (c minuscule) ou --clean qu'il faut utiliser pour que les CREATE soient précédés de DROP dans le dump.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
oui ça était bien passer avec l'option --clean
mais au moment de l'opération du drop database j'ai ce message d'erreur
ERREUR: la base de données « produit» est en cours d'utilisation par d'autres utilisateurs
DÉTAIL : 2 autres sessions utilisent la base de données.
alors comment avec l'option --clean je peut peut tuer les utilisateurs connecté sur ma base
merci
Hors ligne
On peut terminer des sessions avec pg_terminate_backend() qui prend en argument le PID de la session, mais une session ne pourra jamais faire un DROP database en étant elle-même connecté à cette base.
Si le but est de recréer la base entièrement, il est possible d'utiliser pg_dump -C -c (les 2) avec le format plain (donc pas de -Ft, laisser le format par défaut), et de jouer ça dans un psql connecté à une autre base. Par exemple la base nommée postgres. Exemple:
pg_dump -C -c mabase > dump-mabase.sql
psql -U postgres -d postgres -f dump-mabase.sql
Le dump va contenir des commandes du genre
DROP DATABASE mabase;
...
CREATE DATABASE mabase ...;
...
\connect mabase
...
puis les commandes de création des objets.
Mais il faut quand même que personne d'autre ne soit connecté à la base concernée quand on joue ce dump.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1