'pg_restore' est destiné à restaurer les fichiers générés par 'pg_dump'.
À partir de la page de manuel
pg_restore est un utilitaire permettant de restaurer une base de données PostgreSQL à partir d'une archive créée par pg_dump(1) dans l'un des formats de texte non brut.
https://www.postgresql.org/docs/9.2/static/app-pgrestore.html
Si votre fichier a été généré par pg_dump, vous devez probablement au moins lui indiquer dans quelle base de données il doit être vidé :
pg_restore -d my_new_database temp.sql
Ma propre expérience avec pg_restore à travers différentes versions montre que j'ai souvent besoin de spécifier le format du fichier de vidage, même s'il était au format "natif", malgré la page de manuel indiquant qu'il détecterait le format.
pg_restore -d my_new_database -Fc temp.dump
Ce n'est qu'une supposition, mais je pense que si les tables sont effectivement restaurées, sans spécifier la base de données, elles ont été déversées dans la base de données par défaut. Vous pouvez vérifier cela en listant les tables dans la base de données 'postgres' (il ne devrait y en avoir aucune).
postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.
Si vos tables ont été restaurées dans la base de données par défaut, elles seront répertoriées.
Les fichiers SQL en texte brut doivent être traités différemment, généralement exécutés via des commandes SQL à l'aide de psql.
psql -d my_database < temp.sql
En supposant que vous ayez généré votre sauvegarde de base de données comme ceci :
pg_dump -a --inserts databasename > exportfilename.sql
Essayez de restaurer votre fichier comme ceci :
psql databasename -f exportfilename.sql
Postgres pg_restore
comme mentionné ci-dessus est uniquement destiné à être utilisé avec dump
fichiers, vous ne pouvez pas le restaurer comme ça. Vérifiez cette réponse sur le site officiel postgres.org
En gros, vous ne faites pas utilisez pg_restore
avec sql
fichiers --->https://www.postgresql.org/message-id/AANLkTi%3DAqmWrUR4f8%2BEfCHzP%2BQrL1%3DunRLZp_jX7SoqF%40mail.gmail.com