Comment puis-je effectuer un vidage de la structure de table uniquement dans PostgreSQL?

Réponses:

51

pg_dump --schema-only

jldugger
la source
plus facile que je ne le pensais :)
warren
3
Franchement, je n'ai pas beaucoup d'indices sur l'administration postgres, mais j'ai regardé des vidéos de pgcon 09 et quelqu'un a mentionné pg_dump.
jldugger
de toute façon - c'est ce dont j'avais besoin :)
warren
7
@warren: il est encore plus facile: pg_dump -s.
hans0l0
6

Si vous ne voulez que les CREATE TABLEdéclarations, vous pouvez le fairepg_dump -s databasename | awk 'RS="";/CREATE TABLE[^;]*;/'

une tige
la source
4
Je ne sais pas pourquoi les downvotes comme cette commande fonctionnent parfaitement. Donc +1 de moi.
Dave
4
C'était la bonne réponse pour moi, car je ne pouvais pas créer de fichier avec des fonctions, des vues, etc.
Natan Medeiros
@Dave parce que l'ajout d'une option supplémentaire pas du tout liée à la question initiale 6 ans plus tard n'est pas très utile.
Arne
1
@Arne. Être en désaccord. Le titre de la question, qui spécifie le dumping "uniquement la structure du tableau", donne à cette page un rang de recherche élevé. Et beaucoup de gens, comme Natan qui l'a remarqué avant vous, veulent éviter de déplacer des fonctions et / ou des vues d'anciennes extensions au cas où elles commenceraient par une nouvelle base de données avec des extensions mises à jour. Il est donc absolument "utile", par opposition à "non utile", qui sont les critères de vote. Obtenir absolument mon +1.
elrobis
@Dave. Je pense que cette réponse est juste. J'ai ouvert parce que le titre. Je recherche un vidage de structure de table uniquement. C'est mieux que l'autre ou le titre n'est pas acuré.
Emilio Platzer