vérification make check bin scripts et binaires exécutables doc documentations include fichiers entêtes de compilation lib librairies dynamiques



Documents pareils
La replication dans PostgreSQL

//////////////////////////////////////////////////////////////////// Administration bases de données

Présentation du projet

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

PL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes

Ora2Pg Performances. (C) 2013 Gilles Darold

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Notes de cours : bases de données distribuées et repliquées

Haute disponibilité avec PostgreSQL

Performances? Critères de performances (2) Critères de performances

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Retour d'expérience migration Oracle vers PostgreSQL. Vincent Moreau Adeo Services

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Bacula R - The Network Backup Solution

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Oracle Maximum Availability Architecture

Bases de données et sites WEB

Description de SQL SERVER. historique

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Manuel utilisateur (Manuel_utilisateur_version pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version

Un serveur web léger et ouvert

Procédure d'installation de PostgreSQL pour Windows

Auto-évaluation Oracle: cours de base

MYSQLDUMP & ZRM COMMUNITY

Notion de base de données

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Le Client/Serveur avec Enterprise Miner version 4

Cahier d exploitation

CHAPITRE 1 ARCHITECTURE

PostgreSQL. Formations. Catalogue Calendrier... 8

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

CREATION WEB DYNAMIQUE

Administration PostgreSQL

Cours Bases de données 2ème année IUT

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

IFT Systèmes d exploitation - TP n 1-20%

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Architecture de la plateforme SBC

PostgreSQL. Formations. Calendrier... 14

PostgreSQL. Formations. SQL avancé Calendrier... 18

Présentation du module Base de données spatio-temporelles

Archives, backup, DRP. Archivage, sauvegarde, PRA. (plan de reprise d'activité) 04 Octobre

Mise en oeuvre TSM 6.1

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Procédure d installation :

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

REPARTITION DE CHARGE LINUX

Le protocole FTP (File Transfert Protocol,

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Tungsten: une implémentation du futur clustering de PostgreSQL

Le langage SQL (première partie) c Olivier Caron

Sauvegarde et Restauration d un environnement SAS

TP Contraintes - Triggers

Open Source Job Scheduler. Installation(s)

Sauvegardes par Internet avec Rsync

L3 informatique TP n o 2 : Les applications réseau

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Mise en œuvre de Rembo Toolkit

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Laurent Jégou 07/12/2012 M2 Sigma

Qui est Sybase ianywhere?

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

WDpStats Procédure d installation

PRO CED U RE D I N STALLATI O N

Manuel de l Administrateur

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6


PORTAIL DE GESTION DES SERVICES INFORMATIQUES

Du 10 Fév. au 14 Mars 2014

Bases de données et sites WEB Licence d informatique LI345

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Les journées SQL Server 2013

Fiche produit Fujitsu Serveur NAS CELVIN Q600 STOCKAGE RESEAU

Pratique et administration des systèmes

FORMATION PostgreSQL Réplication / Haute Disponibilité

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Configuration des grappes de serveurs d applications ADOBE LIVECYCLE ES3 à l aide de JBOSS

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

SQL2005, la migration Atelier 316

Manuel des logiciels de transferts de fichiers File Delivery Services

Filière Unix Windows Oracle

Transcription:

Installation à partir des sources http://www.virtualmagie.com/images/humour/ Administration de PostgreSQL 8.3 Fabien Coelho MINES ParisTech Composé avec LAT E X, révision 2823 téléchargement par le réseau (.zip.tar.gz tar.bz2 CVS... ) extraction tar xzf...tar.gz ; cd... préparation./configure --prefix=/chemin/ou/installer autres options pour activer ou désactiver certaines options --enable-nls --with-tcl,perl,python --with-pam,openssl... compilation make vérification make check installation make install extensions... cd contrib; make USE PGXS=1 install récupération de l environnement de compilation 1 2 Installation de packages debian ubuntu postgresql postgresql-doc... windows installeur graphique MAPP LAPP WAPP MacOS/Linux/Windows Apache PHP PostgreSQL live CDs basés sur Linux (Xubuntu, Ubuntu, Fedora) Répertoires d installation bin scripts et binaires exécutables doc documentations doc/contrib extensions doc/html PostgreSQL au format HTML include fichiers entêtes de compilation lib librairies dynamiques Multi-instances et multi-versions système intégré à Debian, Ubuntu... scripts de démarrage et d arrêt facilite les mises à jours lib/pgxs environnement de compilation d extensions man page de manuels share données partagées share/contrib scripts d ajouts d extensions 3 4 Initialisation d un cluster : initdb répertoire principal de la base (espace disque?) ajout possible d autres répertoires (tablespace) plus tard variable d environnement PGDATA utilisateur compte de préférence spécifique postgres i18n encodage des caractères UTF8, LATIN1... modifiable pour chaque catalogue DATABASE l10n langue de la base (messages, tris) fr en de... non modifiable par catalogue! initdb \ --locale=fr_fr --encoding=latin1 \ --username=postgres --pwprompt --auth= ident sameuser \ --pgdata=/chemin/vers/db Options de la commande initdb Debian : /usr/lib/postgresql/8.1/bin/initdb username=calvin administrateur, par défaut compte unix pwprompt demande le mot de passe (pas de mot de passe!) locale=... localisation, défaut courant encoding=... internationnalisation, défaut SQL ASCII auth=... méthode d authentification trust par défaut pour accès uniquement locaux préférer md5 ou ident sameuser en local? pgdata=/path/to/db/dir répertoire d installation de la base 5 6 Résultat de initdb répertoire de la base : FS natif du système trois fichiers de configuration postgresql.conf paramétrage du serveur pg hba.conf contrôle des accès (locaux et réseaux) pg ident.conf correspondances pour l authentification ident divers répertoires et fichiers... deux bases de références pour créer de nouvelles bases Configuration du serveur : postgresql.conf configuration fonctionnelle par défaut! nombreuses directives modifiables au chargement de la base certaines modifiables en cours d exécution valeurs par défaut raisonnables pour commencer template1 base par défaut template0 sauvegarde gelée et bloquée de template1 7 8

Thèmes de configuration fichiers où sont les fichiers de configuration connexions locales et par le réseau, réservées, droits sécurité chiffrement, mots de passe... ressources mémoire, fichiers, coûts divers wal write ahead log traces des connexions, syslog, rotations... statistiques collectées clients isolation, encodage... verrous expiration, nombre maximum compatibilité avec anciennes versions ou autres informations non modifiables Configuration : localisation des fichiers data directory répertoire des données de la base par défaut, même répertoire que les fichiers de conf config file fichier de conf principal (au lancement) hba file fichier des autorisations d accès ident file fichier d identification, compte base vs machine external pid file numéro du processus utilisé pour envoyé des signaux au processus 9 10 Configuration : connexions listen addresses = * adresses réseau et port port = 5432 port de la connexion max connections = 100 ne pas oublier de les fermer! superuser reserved connections = 2 réservé à l administrateur unix socket directory... group... permissions accès local tcp keepalives * bonjour name paramètres réseaux Configuration : sécurité et authentification authentication timeout = 60 délais d expiration ssl = off ssl ciphers chiffrement (certificat) password encryption = on oui ou non, préférer oui krb * authentication kerberos db user namespace = off utilisateur par base calvin@comics un peu un hack... 11 12 Configuration : ressources consommées shared buffers = 32M mémoire du cache partagée entre processus pages de 8KB, limites système sysctl kernel.shmmax très important pour les performances! temp buffers = 8M pour les tables temporaires work mem maintenance work mem tris, nettoyage... max prepared transactions = 5... max stack depth, fsm pages, fsm relations, files per process shared preload libraries chargement anticipé de librairies vacuum cost * paramétrage du nettoyage de la base bgwriter * délais d écriture effective des données Configuration : Write Ahead Log (WAL) fsync = on sauvegarde effective des données synchronous commit rapport anticipé du commit... wal sync method, buffers = 8, full page writes = on commit delay, siblings attente pour commits simultanés influence réelle sur les performances? checkpoint segments,timeout,warning archive command,mode,timeout sauvegarde incrémentale des buffers... permet de reconstituer l historique de la base 13 14 Configuration des traces (logs), où quand quoi log destination = stderr où envoyer les messages d erreur Configuration : optimiseur de requêtes enable * activation de techniques d optimisation effective cache size * cost paramétrage des coûts... geqo* optimiseur génétique default statistics target pour analyze from et join collapse limit contrôle combinatoire... logging collector = off messages d erreur log directory filename rotation age rotation size truncate on rotation logs gérés par PostgreSQL syslog * paramétrage de l utilisation d un démon syslog utilisateur annoncé, identification de l application... * min messages debug, info, notice, warning, error, log, fatal, panic log min * log error verbosity... niveau des messages silent mode pas d info sur le flux d erreur debug * activation du debug pour certaines phases log * données tracées 15 16

Configuration : clients search path = $user, public schémas intermédiaires par défaut Configuration : collecte de statistiques, pour optimisation track activities,counts commandes en cours update process title pour commande ps log statement,parser,planner,executor stats... Conseil : activer! default,temp tablespace espaces de stockage par défaut check function bodies = on chargement des fonctions default transaction isolation read only transactions... session replication role contrôle triggers replication statement timeout = 0 délais d arrêt d une requête en ms extra float digits datestyle interprétation dates, précision timezone... ou basé sur le système client encoding codage des caractères côté client lc * localisation messages, monnaie, numérique, temps 17 18 Configuration : autovacuum récupération de l espace des DELETE UPDATE analyse statistiques des données pour l optimiseur autovacuum = off à activer systématiquement! explain pretty print = on plus ou moins joli dynamic library path où chercher les librairies dynamiques autovacuum * plein de paramètres... Configuration : compatibilité add missing from = false si vrai SELECT auteur.*; sql inheritance extension relationnel objet default with oids = off clefs globales, à éviter regex flavor escape string warning... transform null equals = NULL vs IS NULL pour MS Access... 19 20 Configuration : gestion des verrous deadlock timeout fréquence de vérification... max locks per transaction clair... Configuration de debug de PostgreSQL trace * *debug* divers directives... Configuration de modules externes custom variable classes = plperl,plpython annonce préfixes plperl.* configuration de cette classe Informations non re-configurables fixées à la compilation ou au initdb... block size taille des blocs (8KB) alignement du FS sous-jacent? (max ext3 4KB, reiserfs 8KB, xfs 64KB) integer datetimes date dans entiers 64 bits, désactivé par défaut lc collate, ctypes langue de tri (utilisé par les indexes) max function args, identifier length, index keys limites... server encoding encodage des caractère côté serveur (vs client) server version version du serveur 21 22 Contrôle du serveur PostgreSQL pg ctl script de lancement, arrêt, rechargement de la configuration... pg ctl start ; pg ctl reload ; pg ctl stop configuration avec options ou variable d environnement PGDATA Exécutable postmaster exécutable principal de PostgreSQL, lancé par le script processus de maintenance : statistiques, écritures WAL attend les connexions réseaux ou locales lance un processus pour chaque client (pas de thread) peut-être lancé en interactif (debug hors mode client-serveur) Commandes d administration clients de la base de donnée, options de connexions : --host=gil --user=calvin --port=5432 lance essentiellement des commandes SQL createuser createdb createlang créations... dropuser dropdb droplang destructions... pg dump pg restore sauvegarde/restauration d un catalogue pg dumpall sauvegarde complète du cluster (catalogues, rôles) 23 24

Maintenance de PostgreSQL VACUUM FULL ANALYSE ou autovacuum (v8) stats optimiseur, récupération espace tuples modifiés réindexation périodique logs rotation, compression, sauvegarde... sauvegarde des données dump base ou cluster, cohérent à chaud, long fs bas niveau (arrêt serveur, fsync?), long Administration avancée... tablespace langages pgpool, pgpool2, PgBouncer réplication asynchrone slony-i PITR, pg resetxlog fs + wal procédure lourde incrémental bas niveau... raid distant? ATA over Ethernet 25 26 Gestion de l espace de stockage TABLESPACE utilisation d un répertoire dans une autre partition accès parallèles, disques dédiés à la base... doit être un disque local... éviter NFS! le répertoire doit exister, être vide, droits rwx------ CREATE TABLESPACE cuve LOCATION /home/cuve ; CREATE TABLESPACE pot LOCATION /home/pot ; création d un catalogue, d une relation, d un index dans un tablespace CREATE DATABASE voyages TABLESPACE cuve; CREATE TABLE dest(id SERIAL...) TABLESPACE pot; Développement d extensions côté serveur fonction nouvelle utilisable dans SQL aggrégation au delà de SUM/MAX/MIN/AVG opérateur supplémentaire type domaine nouveaux cast traductions de types, e.g. date vers entier conversion entre encodages de caractères (ascii, latin1, utf8) trigger actions automatiques 27 28 PL/* Programming Language côté serveur trusted opérations illégales protégées accès directe à la mémoire, opérations systèmes untrusted pas de protection, risques d interactions PL/pgSQL proche PL/SQL Oracle : SQL + contrôle et variables PL/perl, python, tcl, ruby, sh languages de script... PL/proxy requêtes distribuées (heu... ) PL/R langage pour statistiques PL/java pas un langage de script! pgpool développé par Tatsuo Ishii proxy (intermédiaire) serveur-client pour PostgreSQL doit tourner sur une autre machine! cache les connexions ouvertes vers un ou plusieurs serveurs partage de charge pour des SELECT basculement (failover) en cas de panne d un serveur pas de solution réellement pertinente pour réplication synchrone nécessiterait une double confirmation double commit? problèmes avec certaines fonctions comme random... C langage natif. API accès à la base : SPI 29 30 Migrations : machine, version, logiciel Réplication asynchrone avec Slony-I maître-esclaves à base de trigger table avec la liste des choses à propager... propagation décallée, d où le asynchrone client spécial qui alimente une copie basculement entre versions de serveurs utilisation possible avec pgpool ou PgBouncer machine utilisation de pg dumpall ou pg dump arrêt des transactions? transfert slony-i? toujours tester avant de basculer! version du même logiciel compatibilité binaire si versions proches 8.1.* garder les anciens exécutables pour reculer... logiciel mysql, oracle conversions schéma vs données scripts et outils d aide (e.g. export format CSV) influence sur les applications (SQL différent) 31 32

Interface graphique pgadmin3 contenu complet, niveau SQL, statistiques, extensions, explain aide automatisée : conseils, wizard... Interface Web phppgadmin inspirée de phpmyadmin accès distants sur des serveurs hébergés manipulation du schéma manipulation des données SELECT INSERT UPDATE DELETE I18N et 27 L10N 33 34 List of Slides Conclusion beaucoup de choses! ne s administre pas toute seule se méfier des disques et cartes RAID! désactiver write cache ou BBU (Battery Backup Unit) alternatives à PostgreSQL oracle plus de choses, plus d administration, plus cher! mysql moins de choses, moins d administration? sqlite peu de choses, zéro administration! 1 Administration de PostgreSQL 8.3 2 Installation à partir des sources 3 Installation de packages 3 Multi-instances et multi-versions 4 Répertoires d installation 5 Initialisation d un cluster : initdb 6 Options de la commande initdb 7 Résultat de initdb 8 Configuration du serveur : postgresql.conf 9 Thèmes de configuration 10 Configuration : localisation des fichiers 35 11 Configuration : connexions 12 Configuration : sécurité et authentification 13 Configuration : ressources consommées 14 Configuration : Write Ahead Log (WAL) 15 Configuration : optimiseur de requêtes 16 Configuration des traces (logs), où quand quoi 17 Configuration : collecte de statistiques, pour optimisation 18 Configuration : clients 20 Configuration : autovacuum 20 Configuration : compatibilité 21 Configuration : gestion des verrous 21 Configuration de debug de PostgreSQL 21 Configuration de modules externes 22 Informations non re-configurables 23 Contrôle du serveur PostgreSQL pg ctl 23 Exécutable postmaster 24 Commandes d administration 25 Maintenance de PostgreSQL 26 Administration avancée... 27 Gestion de l espace de stockage TABLESPACE 28 Développement d extensions côté serveur 29 PL/* Programming Language côté serveur 30 pgpool développé par Tatsuo Ishii 31 Réplication asynchrone avec Slony-I 32 Migrations : machine, version, logiciel 33 Interface graphique pgadmin3 34 Interface Web phppgadmin 35 Conclusion