Pourquoi PG_RESTORE revient-il avec succès mais ne restaure pas réellement ma base de données?

StackOverflow https://stackoverflow.com/questions/5900888

  •  29-10-2019
  •  | 
  •  

Question

J'ai une base de données Postgres 8.4 sur un serveur Linux que j'ai vidé à l'aide de la commande suivante:

pg_dump --format=c --exclude-table=log --file=/path/to/output my_db

Je ftp le fichier créé sur ma machine Windows 7 locale et j'essaie de restaurer le fichier sur mon instance Postgres 8.4 locale à l'aide de la commande suivante:

pg_restore --create --exit-on-error --verbose c:\path\to\file

La commande Restore génère beaucoup de sortie en affirmant qu'elle a créé ma base de données, connectée à lui, puis a créé toutes les autres tables comme prévu. Cependant, lorsque je considère les bases de données de ma machine locale via PGADMIN, la base de données restaurée n'existe pas du tout.

Dans une tentative de dépannage, j'ai essayé la commande suivante:

pg_restore --create --exit-on-error --verbose --host=blahblah --username=no_one c:\path\to\file

Lorsque j'exécute cette commande même si l'hôte et le nom d'utilisateur donné sont des bêtises complètes, j'obtiens toujours la même sortie exactement de la commande sans aucune erreur.

Quelqu'un a-t-il déjà rencontré cela ou sait ce qui pourrait en causer?

Était-ce utile?

La solution

Vous devez ajouter le nom d'une base de données valide pour vous connecter initialement ou il videra simplement le contenu sur stdout:

pg_restore --create --exit-on-error --verbose --dbname=postgres <backup_file>

Autres conseils

Cela est toujours déroutant, j'ai essayé d'exécuter cette chose que le nom-dbnnom devrait être la base de données que je veux créer.

pg_restore --create --exit-on-error --verbose --dbname=jiradb jiradb.tar

MAUVAIS!!

Il devrait littéralement être --dbname postgres, le --create créera alors le vrai db à partir du nom dans le fichier. Dans mon cas, j'ai restauré à partir d'une sauvegarde de goudron avec

pg_restore --create --exit-on-error --verbose --dbname=postgres jiradb.tar
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top