Comment créer une sauvegarde d'une seule table dans une base de données postgres?
Est-il un moyen de créer une sauvegarde d'une seule table dans une base de données à l'aide de postgres? Et comment? Est-ce de travailler avec la commande pg_dump?
Vous devez vous connecter pour publier un commentaire.
Utilisation
--table
direpg_dump
que la table a pour la sauvegarde:pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
mais il est sorti:pg_restore: [tar archiver] corrupt tar header found in --
psql -U username -d database -1 -f your_dump.sql
Si vous êtes sur Ubuntu,
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
Assurez-vous que vous êtes l'exécution de la commande où la
postgres
utilisateur a les droits d'écriture (Exemple:/tmp
)Modifier
Si vous voulez vider le .sql dans un autre ordinateur, vous devrez peut-être envisager de passer les coordonnées du propriétaire sont sauvés dans le .fichier sql.
Vous pouvez utiliser
pg_dump --no-owner -d <database_name> -t <table_name> > file.sql
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.sql
Vous pouvez prendre la sauvegarde d'une seule table, mais je vous propose de prendre la sauvegarde de toute la base de données, puis de restaurer n'importe quel tableau vous avez besoin. Il est toujours bon d'avoir une sauvegarde de toute la base de données.
9 façons d'utiliser pg_dump
Si vous préférez une interface utilisateur graphique, vous pouvez utiliser pgAdmin III (Linux/Windows/OS X). Faites simplement un clic droit sur le tableau de votre choix, puis "backup". Il va créer un
pg_dump
commande pour vous.Comme un complément à Frank Heiken réponse, si vous souhaitez utiliser
INSERT
consolidés au lieu decopy from stdin
, alors vous devez spécifier le--inserts
drapeaupg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
Avis que j'ai laissé de côté le
--ignore-version
drapeau, car il est obsolète.