Gilles Darold

PostgreSQL DBA Senior / PostgreSQL Expert

Grenoble, France

66 chemin du curtil

38690 Bevenais - France
gilles@darold.net

http://www.darold.net/

Résumé

Je suis un administrateur et un développeur de base de données PostgreSQL. Je travaille dans le monde de PostgreSQL et Linux depuis plus de 20 ans et j'ai travaillé sur de nombreux projets couvrant l'administration de PostgreSQL, l'optimisation des performances, la sauvegarde et la restauration avancées, la réplication et la haute disponibilité. J'ai également 20 ans d'expérience dans différents domaines liés au système et au réseau.

J'utilise PostgreSQL depuis 1995, depuis lors j'ai créé des outils très connus autour de PostgreSQL comme pgBadger pour l'analyse des logs, Ora2Pg pour migrer la base de données Oracle et plus récemment pgCluu ou pgFormatter. J'ai également contribué au code de PostgreSQL, pgPool-II et OpenLDAP pour n'en nommer que quelques-uns.

Domaines d'expertise

  • Audit et recommandations PostgreSQL.
  • Optimisation Système, PostgreSQL et SQL.
  • Technologies de réplication PostgreSQL, réplication en continu, réplication logique, Slony, envoi de journaux.
  • PostgreSQL sauvegarde / restauration logique et PITR. Installation / configuration d'outils de sauvegarde (barman, pgBackRest, etc.)
  • Partitionnement de table et autres fonctionnalités avancées de PostgreSQL.
  • Migration Oracle, SQL Server et MySQL vers PostgreSQL.
  • Formations PostgreSQL pour tous les niveaux (débutant, développeur et avancé).
  • Support en ligne et téléphonique tout niveau pour PostgreSQL, 24/7.
  • Maintenance et développement de programmes / scripts complexes.
  • Correction et signalement de bogues sur PostgreSQL.
  • Développement de nouvelles fonctionnalités et extensions PostgreSQL.
  • Déplacement en clientèle jusqu'à 50% du temps.
  • Travail en autonomie directement avec les clients.
  • Administration avancée et tuning des systèmes Linux (Ubuntu, Centos, Redhat ou Debian), y compris les langages de script comme Bash, Ksh, Python, Perl etc.
  • Connaissance pratique de MS Windows.

Enseignement et conférences

  • Decembre 2016 - Actuel : Professeur de Programmation Perl MI-ASSR Grenoble Université - IUT2
  • November 2018 - PgSessions #10 Paris: New features in PostgreSQL v11.0
  • May 2018 - PGCon Ottawa: conférence courte sur l'extension pgtt, en anglais.
  • Octobre 2017 - PostgreSQL Graphic Tools Developer Meeting à Varsovie : Présentation de l'interfaçage applicatif avec pgBadger et pgFormatter, en anglais.
  • Juin 2017 - PGDAY France: Toulouse: Conférence sur le partitionnement PostgreSQL et les transactions autonomes.
  • Septembre 2015 - PostgreSQL Session # 7 Paris :  Conférence sur Comment quitter Oracle.
  • Février 2015 - PostgreSQL Conference Russia, Moscou: Conférence sur les difficultés de migration d'Oracle, en anglais.
  • Septembre 2014 - PostgreSQL Session # 6 Paris : Conférence sur la migration d'Oracle Spatial vers PostGis.
  • Juin 2013 - PGDay France, Nantes: Conférence sur les performances des migrations avec Ora2Pg.
  • Mai 2012 - PGCon Ottawa : conférence courte sur pgBadger, en anglais.
  • Octobre 2011 - PgConf.Eu Amsterdam : Conférence sur les bonnes pratique de la migration Oracle vers PostgreSQL.

Compétences techniques

  • Platformes : UNIX (AIX, HP-UX, Solaris), Linux (RedHat, Slackware, Debian, Ubuntu, BSD?), Windows
  • Réseaux : TCP/IP, ISO/OSI, Ethernet, FDDI, VPN, SSH, PGP, WAN, WLAN (wifi), various protocols including SMTP, IMAP, and HTTP.
  • Bases de données : PostgreSQL, Oracle, MySQL, SQLite, BDB
  • Langages : Shell, HTML, Java, JavaScript, jquery, Perl, C, C++, GTK, TCL/TK, Java, Python, SQL, PL/SQL and PLPGSQL

Expérience professionnelle

PostgreSQL DBA Sénior

Dalibo, Paris

Oct 2010 - Current

  • Évaluation des déploiements clients de PostgreSQL et recommandations pour les améliorer.
  • Propositions de solutions pour répondre aux besoins des clients.
  • Aide à la clientèle dans le développement d'applications personnalisées basées sur PostgreSQL.
  • Formations PostgreSQL pour tous les niveaux (débutant, développeur et avancé).
  • Migrations de bases de données d'Oracle, SQL Server, MySQL vers PostgreSQL
  • Mise en oeuvre d'architectures pour migrer des données et des bases de données entière.
  • Optimisation des performances et recommandations pour les déploiements de base de données existants
  • Optimisation des requêtes SQL et procédures stockées, analyse des plans de requête, écriture de PLpgSQL avancé
  • Implémentation de solutions de réplication, de haute disponibilité et de reprise après sinistre avec PostgreSQL
  • Mise en oeuvre de solutions de sauvegarde / restauration, de gestion / supervision, de mises à jour de version et de correctifs.
  • Support et développement de propositions techniques pour répondre aux besoins des clients.
  • Création, mise en oeuvre et documentation d'architectures PostgreSQL complexe.
  • Publication d'articles techniques, contributions à PostgreSQL et aux conférences.
  • Écriture de programmes et scripts complexes.
  • Conseil des clients sur le dimensionnement des ressources.
  • Maîtrise des outils de gestion de base de données PostgreSQL et optimisation de base de données.
  • Technologies de réplication PostgreSQL Streaming Replication, réplication logique, Slony.
  • Mise en réseau de PostgreSQL, HBA et pool de connexion (PgBouncer, PgPool).

Responsable Systèmes et Réseaux

Groupe SAMSE, Grenoble

Feb 2000 - Sep 2010

  • Conduite de projets (choix de solutions techniques, installation, packaging, documentation, déploiement, développement spécifiques et reporting).
  • Administration Système : 200 serveurs Unix (Linux, AIX et SCO) pour l'infrastructure réseaux, les bases de données, les applications de gestion commerciale, Intranet, cluster RedHat, SAN (EMC Clarion), robot de sauvegarde (Overland), virtualisation (ESX vmWare).
  • Administration Réseaux : VPN Orange MPLS de 220 agences, LAN agences et Siège (VLAN, STP, redondance), Wifi Siège et 25 agences (Entrepôts du Bricolage). DHCP, DNS, Sendmail, Cyrus Imap, OpenLDAP, Squid...
  • Supervision Nagios, outils développés en interne, monitoring SNMP.
  • Administration World Wide : DMZ (ftp, www, dns, mailhost), Firewal Checkpoint, gestion nom de domaine, vpn site à site et client à site pour les prestataires, sécurisation des serveurs (chroot user, chroot Apache+php+perl, ftp).
  • Responsable intégration Open Source : WWW, DHCP, DNS, messagerie (Webmail, Sendmail, Cyrus Imap), OpenLDAP, clients léger sur serveurs VNC, portail Intranet, proxy Internet Squid, formation des administrateurs et du support. Ce travail a fait l'objet d'une conférence à Linux Solution Paris 2003,

Développeur / Administrateur Système

Free Lance, Grenoble

Jun 1996 - Jan 2000

  • Formateur langage de programmation Perl pour la société TEAMLOG.
  • Conception et programmation d'une suite de logiciels E-Business, incluant la gestion dynamique des données, l'intégration graphique et l'administration des catalogues. Environnement de programmation: CGI-Perl (mod_perl), PostgreSQL, Apache, XML/XSLT, Linux. Vente en ligne des magasins CASINO.
  • Hewlet-Packard : Technicien process. Analyse de base de Knowledge. Programmation des outils d'extraction et de formatage de données. Environnement de programmation : Perl sur HPUX.
  • Conception et programmation d'un site E-Business pour la société LVO International. Programmation CGI-PERL pour la gestion dynamique des données, Interface utilisateur World Wide, outils d'administration et outils statistiques. Conception et création RDBMS PostgreSQL. Systéme : Linux. Administrateur du site.
  • Installation et configuration sur site d'un firewall intégré (NextLand ISB100) pour la société SIRIAL.
  • Hewlet-Packard : Technicien process. Analyse de base de Knowledge. Programmation des outils d'extraction et de formatage des données. Environnement de programmation:: Perl, HPUX.
  • Hewlet-Packard : Conception d'une application concernant l'audit sécurité des systèmes et réseaux. Port mapper et scanner de services (http, smtp, telnet, ftp, pop3, etc.) sur de très grand rèseaux (+2000 machines) Programmation Perl et rapport en HTML.
  • Conception d'une architecture réseau (DMZ), installation et configuration d'un firewall, proxy cache, serveur WWW pour la société SAMSE. Système Linux, IP Masquerading, Ipfwm, Proxy Squid, serveur Apache.

Développeur

Société MONIT'AIR (Héli-Union), Grenoble

Mai 1995 - Mai 1996

  • Développement logiciel pour la société MONIT'AIR (Héli-Union). Programmation d'une application complète permettant la configuration, l'extraction de données et l'affichage de statistiques de vol des enregistreurs de vols (boite noire) pour une flotte d'hélicoptère de sécurité civile et la gendarmerie nationale. Visual Basic sur NT4.0/Windows95 liés au RDBMS Access95.
  • Installation et configuration d'un serveur NT 4.0. Protocoles NetBUI et TCP/IP avec 8 PC sous Win95.

Développeur

Observatoire astronomique Calern, Nice

Nov 1994 - Jan 1995

  • Écriture d'un HowTo Linux pour l'installation et la configuration du RDBMS Postgres95 (PostgreSQL).
  • Programmation d'un serveur d'enregistrement de demande de prise de clichés astronomiques pour la communauté des astronomes professionnels. Observatoire Astronomique de Nice (Calern). Interface CGI/C entre le serveur WWW et une base de données SQL (Postgres95). Développement sur HP9000/710 (HPUnix). Portage sous Linux.
  • Programmation des logiciels pour le traitement des demandes de clichés et la mise en route automatique du télescope au point donné. Interface de gestion des utilisateurs et demandes de clichés. Programmation en C, Motif et Xwindow. Portage sous Linux.

Formation

Analyste Programmeur en Informatique Industrielle et logiciel

Grenoble, 1995

(AFPA)

UER Sciences humaines

Grenoble, 1987

(première année)

Baccalauréat Scientifique

Grenoble, 1986

 (série D)

Projets OpenSources personnels

  • OpenLdap : patch pour le support de PostgreSQL en backend OpenLDAP, http://www.openldap.org/lists/openldap-bugs/200112/msg00024.html
  • Ora2Pg : Convertisseur de base Oracle vers PostgreSQL. http://ora2pg.darold.net/
  • pgBadger : Analyze de log PostgreSQL. http://dalibo.github.io/pgbadger/
  • pgFormatter : Formatage / enjoliveur de code SQL et PlPgSQL pour PostgreSQL. http://sqlformat.darold.net/
  • pgCluu : Analyze de performances PostgreSQL et système. http://pgcluu.darold.net/
  • Extension PostgreSQL :
    • uri : ajout d'un type de données pour le stockage et la validation des URL. https://github.com/darold/uri
    • external_data :  ajout du type de données BFILE d'Oracle (fichier externes). https://github.com/darold/external_file
    • pgtt : ajout du support des Tables Temporaires Globales à la Oracle dans PostgreSQL. https://github.com/darold/pgtt
  • pgpool : diverses contributions http://www.pgpool.net/docs/pgpool-II-3.5.4/NEWS.txt
  • Apache2::ModProxyPerlHtml : Module Apache 2 pour Reverse Proxy. http://modproxyhtml.darold.net/
  • SquidClamAv : Redirecteur Squid pour le scan antivirus des flux HTTP. http://squidclamav.darold.net/
  • SendmailAnalyzer : Analyseur / Reporting de log Sendmail, Antivirus et AntiSpam. http://sareport.darold.net/
  • SquidAnalyzer : Analyseur/ Reporting de log Proxy Internet Squid. http://www.darold.net/projects/SquidAnalyzer/
  • SquidGuardMgr : GUI pour l'administration de complète de SquidGuard. http://squidguardmgr.darold.net/
  • Sysusage : Monitoring Système Unix basé sur Sar (sysstat). http://sysusage.darold.net/