2009-03-02 4 views
3

Est-ce que je peux créer une sauvegarde de base de données par programme (ou de la façon qui fonctionne le mieux), avec seulement les tables que je veux? J'ai environ 100 tables dans ma base de données et je veux seulement 10 tables de sauvegarde (bien sûr tous sont interdépendants). Comment puis-je atteindre cet objectif? Et en passant, j'ai une base de données postgresql.Puis-je créer de manière sélective une sauvegarde de la base de données Postgres, avec uniquement des tables certian?

Répondre

13

Bien sûr. pg_dump vous permet de passer liste des tables avec le paramètre -t

Pour effacer certains doutes. True, le paramètre -t n'accepte qu'un seul modèle. Mais il est un pattern très similaire à l'expression régulière, donc si vous voulez vider les tables A, B & C vous pouvez faire:

pg_dump -t '(A|B|C)' 
+0

http://www.postgresql.org/docs/8.3/interactive/backup- dump.html, mais ajoutez l'option '-t' (voir pg_dump --help). –

+0

Je ne pense pas que les anciennes versions de PostgreSQL permettent l'option '-t'. –

+0

En fait, je pense que dans la version 8.0, il ne permettait que l'option * one * -t, donc vous ne pouviez que vider une table à la fois. –

Questions connexes