Outils du site

Il a été reçu le premier dans un concours de circonstances. [Coluche]

60-database:postgresql

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édentesRévision précédente
Prochaine révision
Révision précédente
60-database:postgresql [2019/04/27 12:36] – [Vacuum et analyse] Roge60-database:postgresql [2020/10/09 18:36] (Version actuelle) – [Changement de version de l'instance cible] Roge
Ligne 77: Ligne 77:
 </code> </code>
  
-===== Gestion du cluster ===== 
  
 +===== Backup - Restore =====
  
-<code bash> 
-# Afficher le cluster 
-$ pg_lsclusters 
-Version Cluster   Port Status Owner    Data directory                     Log file 
-9.1     main      5432 online postgres /var/lib/postgresql/9.1/main       /var/log/postgresql/postgresql-9.1-main.log 
  
-# Supprimer le cluster 
-$ pg_dropcluster 9.1 main --stop 
  
-# Créer le cluster +==== Changement de version de l'instance cible ====
-$ pg_createcluster --locale fr_FR.UTF-8 9.1 main+
  
-Démarrage +<code bash> 
-$ pg_ctlcluster 9.1 main start+backup database with no format specification (default is SQL) 
 +pg_dump -v -O -U <user> -d <database> -f <file dump.sql>
  
 +# Restore with psql
 +psql -vc -h <host> -U <user> -d <database> -f <file dump.sql>
 </code> </code>
  
- +==== Meme version de l'instance cible ====
-===== Backup - Restore ===== +
- +
  
 <code bash> <code bash>
- 
 # backup database # backup database
-pg_dump -v -U <user> -d <database> -f <file dump>+pg_dump -v -O -Fc -U <user> -d <database> -f <file dump>
  
 # Restore with: # Restore with:
Ligne 113: Ligne 104:
  
 pg_restore -vc -U <user> -d <database> -1 <file dump> pg_restore -vc -U <user> -d <database> -1 <file dump>
 +</code>
  
 +Lister le contenu d'un dump:
  
 +<code bash>
 +pg_restore -l mydatabase.backup
 </code> </code>
  
Ligne 142: Ligne 137:
 </code> </code>
  
 +===== Tablespace =====
 +
 +<code bash>
 +mkdir <Tablespace-Path>
 +chown postgres:postgres <Tablespace-Path>
 +
 +
 +CREATE TABLESPACE <tableSpacename> OWNER <owner> LOCATION '<Tablespace-Path>';
 +
 +</code>
 ===== schema ===== ===== schema =====
  
Ligne 148: Ligne 153:
 //"Les schémas sont comparables aux répertoires au niveau du système d'exploitation. sauf que les schémas ne peuvent pas être imbriqués."// //"Les schémas sont comparables aux répertoires au niveau du système d'exploitation. sauf que les schémas ne peuvent pas être imbriqués."//
  
-<code bash>+<code>
 CREATE SCHEMA mon_schema; CREATE SCHEMA mon_schema;
 # supprimer un schéma vide # supprimer un schéma vide
Ligne 161: Ligne 166:
  
  
- 
-===== Optimisation ===== 
- 
- 
-//" il est recommandé de fortement augmenter les paramètres **shared_buffers** et **work_mem** qui indiquent la quantité de mémoire maximale à utiliser pour un certain nombre d'opérations. L'utilitaire **pg_tune** peut être utilisé pour obtenir des indications sur les valeurs à utiliser, suivant la configuration matérielle (même si les valeurs exactes dépendent de l'utilisation qui est faite de la base)."// http://blog.pilotsystems.net/2011/aout/cas-pratique-doptimisation-de-postgresql 
- 
-===== Vacuum et analyse ===== 
- 
-==== Autovacuum ==== 
- 
-"//PostgreSQL ™ dispose d'une fonctionnalité optionnelle mais hautement recommandée appelée autovacuum, dont le but est d'automatiser l'exécution des commandes VACUUM et ANALYZE . Une fois activé, autovacuum vérifie les tables ayant un grand nombre de lignes insérées, mises à jour ou supprimées. Ces vérifications utilisent la fonctionnalité de récupération de statistiques ; du coup, autovacuum ne peut pas être utilisé sauf si track_counts est configuré à true. Dans la configuration par défaut, l'autovacuum est activé et les paramètres liés sont correctement configurés.//" 
-https://docs.postgresql.fr/10/maintenance.html#autovacuum 
- 
-<code> 
-select * from pg_settings 
-where name like 'autovacuum%' 
-or name = 'track_counts'; 
- 
-</code> 
- 
-==== Analyse ==== 
- 
-"//ANALYZE collecte des statistiques sur le contenu des tables de la base de données et stocke les résultats dans le catalogue système pg_statistic. L'optimiseur de requêtes les utilise pour déterminer les plans d'exécution les plus efficaces. 
-Dans la configuration par défaut de PostgreSQL™, le démon autovacumm (voir Section 24.1.6, « Le démon auto-vacuum ») l'analyse automatique des tables quand elle est remplie de données sont la première fois, puis à chaque fois qu'elles sont modifiées via les opérations habituelles. Quand l'autovacuum est désactivé, il est intéressant de lancer ANALYZE périodiquement ou juste après avoir effectué de grosses modifications sur le contenu d'une table.//" 
-https://docs.postgresql.fr/10/sql-analyze.html 
  
 ===== Analyse des requêtes ===== ===== Analyse des requêtes =====
Dernière modification : 2019/04/27 12:36