Outils pour utilisateurs

Outils du site


linux:postgresql (lu 88562 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
linux:postgresql [25-09-2018 15:00]
edmc73 [Backup]
linux:postgresql [31-01-2019 16:16]
edmc73 [postgis]
Ligne 175: Ligne 175:
  
 --- https://www.opsdash.com/blog/postgresql-backup-restore.html --- https://www.opsdash.com/blog/postgresql-backup-restore.html
 +
 +
 +Option de pg_restore
 +  * ''-a'' ne restaure que les données
 +  * ''-c'' efface les objets avant de les recréer (ajouter ''--if-exists'' pour éviter les messages d'erreurs en cas de suppression d'un objet qui n'existe pas
 +  * ''-C'' crée la database avec le nom renseigné dans ''-d''
 +  * ''-e'' exit on error
 +  * ''-I'' ne restaure que l'index spécifié
 +  * ''-P'' ne restaure que la fonction spécifiée
 +  * ''-T'' ne restaure que le trigger spécifié
 +  * ''-l'' liste les objets sauvegardés
 +  * ''-d'' spécifie la database
 +  * ''-n'' spécifie le schéma
 +  * ''-t'' spécifie la table
 +
 +
  
 Backup: (-Fc est un format compressé qui prend donc moins de place) Backup: (-Fc est un format compressé qui prend donc moins de place)
Ligne 198: Ligne 214:
   $ pg_dump --table products -U geekstuff article -f onlytable.sql   $ pg_dump --table products -U geekstuff article -f onlytable.sql
   $ pg_dump --table products -U geekstuff article -Fc -f onlytable.backup   $ pg_dump --table products -U geekstuff article -Fc -f onlytable.backup
 +
 +
 +Autre facon de faire un backup sous forme de fichier
 +
 +  pg_dump -Fd -f dbName_objects -j 10 -t 'thr_*' -U userName dbName
 +
 +Cette commande utilise ''-Fd'' qui est un format de backup sous forme de fichier\\
 +''-f'' spécifie non pas le nom du fichier de backup mais le répertoire\\
 +''-j 10'' spécifie 10 jobs simultanés pour faire le backup\\
 +''-t'' permet de définir un pattern pour ne sauvegarder que certaine table avec un prefixe ou autre
 +
 +L'inconvénient est que les fichiers ont le nom de l'id des objets, difficile donc de savoir ou est la table que l'on recherche.
 +
 +Utilisez la commande suivante pour voir la correspondance
 +
 +  pg_restore --list -Fd dbName_objects/ | grep 'TABLE DATA'
 +
 +in order to have each file not compressed (in raw SQL)
 +
 +  pg_dump --data-only --compress=0 --format=directory --file=dbName_objects --jobs=10 --table='thr_*' --username=userName -- dbname=dbName
 +  
 +Sinon un script bash qui boucle sur la liste des tables 
 +
 +<code bash>
 +#!/bin/bash
 +
 +# Config:
 +DB=rezopilotdatabase
 +U=postgres
 +# tablename searchpattern, if you want all tables enter "":
 +P=""
 +# directory to dump files without trailing slash:
 +DIR=~/psql_db_dump_dir
 +
 +mkdir -p $DIR
 +TABLES="$(psql -d $DB -U $U -t -c "SELECT table_name FROM 
 +information_schema.tables WHERE table_type='BASE TABLE' AND table_name 
 +LIKE '%$P%' ORDER BY table_name")"
 +for table in $TABLES; do
 +  echo backup $table ...
 +  pg_dump $DB -U $U -w -t $table > $DIR/$table.sql;
 +done;
 +echo done
 +</code>
 +
  
 ===== pg_dump to mysql ===== ===== pg_dump to mysql =====
Ligne 268: Ligne 329:
  
 Activation dans postgres, se connecter avec psql ou pgadmin et lancer la requête sql Activation dans postgres, se connecter avec psql ou pgadmin et lancer la requête sql
 +
 +  psql -d nom_bdd
  
 Enable PostGIS (includes raster) Enable PostGIS (includes raster)
linux/postgresql.txt · Dernière modification: 23-03-2023 14:57 de edmc73