Sauvegarde de base de données PostgreSQL design - sans données
J'ai essayé de trouver un moyen de sauvegarde de ma base de données de conception sans y compris les données stockées dans la base de données. En fait, on pourrait dire que je veux avoir un fichier qui contient toutes "CRÉER des Scripts" dans la base de données. Idéalement, ce fichier peut être utilisé pour recréer la base de données (sans les données bien sûr).
Comment éviter de données dans une base de données de sauvegarde?
Je suis en utilisant pgAdmin 4.1.3 et PostgreSQL 9.6.
- cliquez sur "seul schéma" à la sauvegarde
pg_dump
avec--schema-only
option.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez l'utiliser à partir de psql(terminal):
de pg_dump documentation le "-s" dump seulement l'objet de définitions (schéma), pas de données.
pg_dump documentation
C:/Program Files (x86)/pgAdmin 4/v1/runtime/pg_dump.exe
pg_dump
commande=
symbole ainsi, par exemple,--username=postgres
. L'espace est utilisé avec un seul tiret options, comme par exemple-U postgres
.Étape sur la base de données -< Outils ->Sauvegarde
puis Vidage Options
à vérifier le schéma pour être vrai
La
pg_dump
utilitaire est distribué avec Postgres dans lebin
répertoire. L'utilitaire accepte de nombreux les options comme indiqué, et le format est:Pour répondre plus précisément à la question, ici, d'ouvrir une fenêtre d'Invite de commandes (Shell sous *nix), et accédez à la Postgres
bin
répertoire. Ensuite, exécutez la commande suivante (Windows syntaxe indiquée):La
DB_NAME
variable d'environnement est purement pour des raisons de commodité, et le nom peut être incorporé pour plus de simplicité.La
--username
commutateur est requis dans la plupart des cas, vous n'êtes probablement pas connecté à votre système d'exploitation comme un valide utilisateur Postgres.La
--schema-only
commutateur indique que vous ne voulez les instructions DDL, sans les données réelles.La
>%DATABASE_NAME%-schema.sql
partie redirige la sortie de la console dans un fichier nommé%DATABASE_NAME%-schema.sql
, dans cet exemple, "mabase-schéma.sql".Le fichier produit est valable un script SQL qui peuvent être exécutées via n'importe quel client valide afin de recréer tous les objets.
Voici quelques autres exemples utiles:
J'ai l'habitude de préfixe de Vues MATÉRIALISÉES avec
mv_
, afin de vider les définitions que pour les relations qui commencent par "mv_*" j'utilise:Utiliser plusieurs
--table=
arguments pour plusieurs motifs.De script uniquement l'après-objets de DONNÉES, par exemple les index, triggers, etc., utilisation
--section=post-data
Cela suppose par défaut de l'hôte, le port, authentification, etc. Pour spécifier les paramètres reportez-vous à la la documentation