6
votes

Dumping PSQL Tables avec préfixes spécifiques

im en utilisant actuellement l'outil pg_dump pour décharger des tables de ma base de données. Je voudrais automatiser ce processus, cependant, je n'ai pas trouvé de moyen de spécifier pg_dump pour jeter plusieurs bases de données qui ont le même préfixe.

Toute aide dans cette affaire serait grandement appréciée


0 commentaires

3 Réponses :


0
votes

Je ne suis pas sûr que si je ne stire pas ce que vous avez dit exactement. Je vous conseille que vous pouvez modifier un script shell pour vider chaque base de données.


1 commentaires

La base de données a de nombreuses tables. Chaque sous-ensemble de tables a un préfixe. Par exemple, Moscou Paris Newyork. Je voudrais jeter ces substituts avec une commande.



11
votes

Exemples de la manuel :

Pour vider toutes les tables dont les noms commencent avec EMP dans le schéma de Detroit, sauf Pour la table nommée employé_log:

$ pg_dump -t 'detroit.emp *' -t Detroit.employe_log mydb> db.sql

Pour vider tous les schémas dont les noms commencent avec est ou ouest et fin à GSM, excluant tous les schémas dont les noms contenir le test de mot:

$ pg_dump -n 'east * gsm' -n 'west * gsm' -N ' test ' mydb> db.sql

la même chose, en utilisant une expression régulière Notation de consolidation des commutateurs:

$ pg_dump -n '(est | ouest) * GSM' -N ' test ' mydb> db.sql

Pour vider tous les objets de base de données sauf Pour les tables dont les noms commencent par TS _:

$ pg_dump -t 'ts_ *' mydb> db.sql


3 commentaires

Merci c'est exactement ce dont j'avais besoin. C'était au bas du manuel - j'ai perdu un peu de ma dignité.


Tables! = Bases de données, ce n'est donc pas une réponse correcte pour la question donnée


Childno͡.de signifie probablement que OP a dit: "Je n'ai pas trouvé de moyen de spécifier pg_dump pour vider plusieurs bases de données qui ont le même préfixe". La question pourrait donc être interprétée comme une des bases de données, pas des tables.



0
votes

Vous pouvez utiliser plusieurs fois le paramètre "-t" si vous souhaitez déconner plus d'une table.

$ pg_dump -t table1 -t table2 mydb> benned.sql p>

-t table --Table = table p>

Dump only tables (or views or sequences) matching table. Multiple


0 commentaires