Je cherche un moyen d'obtenir toutes les lignes sous forme d' INSERT
instructions à partir d'une table spécifique dans une base de données en utilisant pg_dump
PostgreSQL.
Par exemple, j'ai la table A et toutes les lignes de la table AI ont besoin de INSERT
déclarations, il devrait également vider ces déclarations dans un fichier.
Est-ce possible?
postgresql
Elitmiar
la source
la source
-d
,-a
et-t
versions courtes sont toujours présentes, cependant. Vérifié avec PG11.--inserts
est une autre option; il restaure légèrement plus vite mais ne peut pas tolérer les changements d'ordre des colonnesSi vous souhaitez vider vos insertions dans un fichier .sql :
cd
à l'emplacement que vous souhaitez.sql
déposerpg_dump --column-inserts --data-only --table=<table> <database> > my_dump.sql
Notez la
> my_dump.sql
commande. Cela mettra tout dans un fichier sql nommé my_dumpla source
Mettez dans un script que j'aime quelque chose comme ça:
la source
juste au cas où vous utilisez un accès distant et souhaitez vider toutes les données de la base de données, vous pouvez utiliser:
pg_dump -a -h your_host -U your_user -W -Fc your_database > DATA.dump
il créera un vidage avec toutes les données de la base de données et utilisera
pg_restore -a -h your_host -U your_user -W -Fc your_database < DATA.dump
d'insérer les mêmes données dans votre base de données en considérant que vous avez la même structure
la source