Outils du site

C'est drôle comme les gens qui se croient instruits prouvent le besoin de faire chier le monde. [Boris Vian]

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/03/25 13:38] Roge60-database:postgresql [2020/10/09 18:36] (Version actuelle) – [Changement de version de l'instance cible] Roge
Ligne 1: Ligne 1:
-{{tag>PostgreSQL}}+
  
 ====== PostgreSQL ====== ====== PostgreSQL ======
 +
 +{{tag>PostgreSQL BD DB}}
  
 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-18-04 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-18-04
Ligne 75: 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 111: 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 140: 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 146: 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 159: 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 ===== 
- 
-//"We recommend that active production databases be vacuumed frequently (at least nightly), in order to remove dead rows. After adding or deleting a large number of rows, it might be a good idea to issue a VACUUM ANALYZE command for the affected table. This will update the system catalogs with the results of all recent changes, and allow the PostgreSQL query planner to make better choices in planning queries."// https://www.postgresql.org/docs/9.5/sql-vacuum.html 
- 
-''vacuum analyse verbose;'' 
  
 ===== Analyse des requêtes ===== ===== Analyse des requêtes =====
Ligne 217: Ligne 213:
  
 </code> </code>
 +
 +===== Connaître la configuration de Postgres ===== 
 +
 +<code bash>
 +select * from pg_settings;
 +</code>
 +
 +
 ===== Voir plus loin ===== ===== Voir plus loin =====
  
Dernière modification : 2019/03/25 13:38