Existe-t-il un moyen de créer une sauvegarde d'une seule table dans une base de données en utilisant postgres? Et comment? Est-ce que cela fonctionne aussi avec la commande pg_dump?Comment créer une sauvegarde d'une seule table dans une base de données postgres?
Répondre
Utilisez --table
pour dire pg_dump
quelle table il doit sauvegarde:
pg_dump --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "C:\temp\filename.backup" --table public.tablename dbname
pg_dump localhost -p 5432 -h -U postgres -d mydb -t my_table> backup.sql
Vous pouvez prendre la sauvegarde d'une seule table, mais je suggère de prendre la sauvegarde de la base de données entière, puis restaurer n'importe quelle table dont vous avez besoin. Il est toujours bon d'avoir une sauvegarde de la base de données entière.
Votre lien est mort à partir de maintenant; ( – Vogel612
Si vous êtes sur Ubuntu,
- Connectez-vous à votre postgres utilisateur
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
Assurez-vous que vous exécutez la commande où l'utilisateur postgres
ont autorisations d'écriture (Exemple: /tmp
)
Modifier
Si vous voulez vider le sql dans un autre ordinateur, vous devrez peut-être envisager de sauter les informations du propriétaire s'enregistrées dans le fichier sql.
Vous pouvez utiliser pg_dump --no-owner -d <database_name> -t <table_name> > file.sql
Et si vous voulez – shekeine
Il suffit de supprimer l'option -t! 'pg_dump -d
Je ne sais pas pourquoi mais l'option -d n'est pas valide pour psql9.3 et La commande donnée ne fonctionne pas pour moi. La première est ** pg_dump -U nom d'utilisateur nom_base -t nom_table> nom_fichier **. –
Et comment restaurer ce fichier de sauvegarde. (.backup), J'ai utilisé 'pg_restore --host localhost --port 5432 --username postgres --dbname" anydb "--table public.tablename -Ft --verbose" /chemin/nomfichier.backup "mais il est sorti: 'pg_restore: [tar archiveur] entête corrompue tar trouvé dans --' –
' psql -U nom d'utilisateur -d base de données -1 -f your_dump.sql' – rnaud