SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
 LOXODATA
@l_avrot
POSTGRESQL POUR
DÉBUTANTS
JDLL
2018-03-24
Lætitia AVROT
Loxodata
 LOXODATA
@l_avrot
QUI
Lætitia Avrot
Formatrice et consultante PostgreSQL
DBA PostgreSQL, Oracle et SQL Server depuis plus de 10 ans
Quelques gros projets (IGN, DMPH, DMP, Ministères...)
@l_avrot
 LOXODATA
@l_avrot
LOXODATA
Entreprise disposant de 3 piliers d'expertises
PostgreSQL DevOps Cloud
 LOXODATA
@l_avrot
LOXODATA
Une large palette de services
Architecture Conseil Formation
Administration Audit Support
 LOXODATA
@l_avrot
PostgreSQL pour débutants
Le tout début
Apprendre de ses erreurs
Aller plus loin
 LOXODATA
@l_avrot
AU COMMENCEMENT
 LOXODATA
@l_avrot
PostgreS
 LOXODATA
@l_avrot
Le contexte historique
Projet Open Source avant Linux (1986)
Projet vraiment communautaire
Philosophie : la stabilité avant les fonctionnalités
Mascotte : l'éléphant Slonik
 LOXODATA
@l_avrot
Un SGBDR (Système de Gestion de Base de Données Relationnel)
Basé sur l'algèbre relationnelle
Modélisation des données
Conforme à la norme SQL
 LOXODATA
@l_avrot
Le SQL (Standard Query Language)
Langage normé déclaratif
Naturellement lisible en anglais
À écrire par essais et erreurs
https://pgexercises.com
 LOXODATA
@l_avrot
Installation : les étapes
1. Installation du serveur
2. Création du "cluster"
3. Démarrage du serveur
 LOXODATA
@l_avrot
Installation du serveur
Avec des packages (ou installer Windows)
À partir du code source
 LOXODATA
@l_avrot
https://www.postgresql.org/download/
 LOXODATA
@l_avrot
Création du "cluster"
$PGDATA
Souvent déjà fait
initdb
 LOXODATA
@l_avrot
COMMENT S'Y RETROUVER ?
ps -ef | grep postgres
postgres 1374 /bin/postgres -D /data/main
postgres 1375 /bin/postgres -D /data/unicorn
postgres 1376 /bin/postgres -D /data/poney
postgres 1377 /bin/postgres -D /data/pinkiepie
 LOXODATA
@l_avrot
DÉMARRER/ARRÊTER
Debian :
Avec systemd :
Sous Windows :
Arrêt/Démarrage de service
pg_ctlcluster version cluster_name start|stop
systemctl start|stop service_name
 LOXODATA
@l_avrot
UTILISATION
 LOXODATA
@l_avrot
Clients
Graphiques (OmniDB, DBeaver)
Lignes de commandes (psql, vi, pspg)
 LOXODATA
@l_avrot
Connexion
Le serveur
Port d'écoute (5432 par défaut)
Utilisateur (par déaut le même que pour l'OS)
La base de données (par défaut même nom que l'utilisateur)
 LOXODATA
@l_avrot
EXEMPLES DE CONNEXION VIA PSQL
psql
psql -h localhost -U postgres -p 5432 postgres
psql (10.3 (Ubuntu 10.3-1.pgdg16.04+1))
Type "help" for help.
postgres=#
 LOXODATA
@l_avrot
LE PROMPT PSQL
nombase=# (En attente de nouvelle commande)
nombase-# (En attente de suite de commande)
nombase(# (En attente de fermeture de parenthèse)
nombase'# (En attente de fermeture de quote)
 LOXODATA
@l_avrot
QUELQUES TRUCS
conninfo (Donne les informations de connexion)
d nom_objet (Donne les informations sur l'objet)
? (affiche l'aide sur les commandes)
h (affiche l'aide sur le langage SQL)
q (Quitte psql)
 LOXODATA
@l_avrot
AU SECOURS!
FATAL: authentification par mot de passe échouée pour
l'utilisateur « x »
FATAL: aucune entrée dans pg_hba.conf pour
l'hôte « x », utilisateur « y », base de données
« z », SSL actif
postgres=# ljksdfhjkd
postgres-# SELECT random();
ERREUR: erreur de syntaxe sur ou près de « ljksdfhjkd »
LIGNE 1 : ljksdfhjkd
postgres=# exit
postgres-# quit
postgres-# :q
postgres-# fuck!
 LOXODATA
@l_avrot
CONNEXION POSTGRESQL EN PHP
<?php
$connection = pg_connect ("host=localhost dbname=site user=postgres
password=root");
if($connection) {
echo 'connected';
} else {
echo 'there has been an error connecting';
}
?>
 LOXODATA
@l_avrot
CONNEXION POSTGRESQL EN RUBY
require 'pg'
conn = PGconn.open(:dbname => 'test')
 LOXODATA
@l_avrot
CONNEXION POSTGRESQL EN DJANGO
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'db_name',
'USER': 'db_user',
'PASSWORD': 'db_user_password',
'HOST': '',
'PORT': 'db_port_number',
}
}
 LOXODATA
@l_avrot
OBTENIR DE L'AIDE
 LOXODATA
@l_avrot
Documentation
Traduite en français
Téléchargeable
 LOXODATA
@l_avrot
 LOXODATA
@l_avrot
 LOXODATA
@l_avrot
 LOXODATA
@l_avrot
 LOXODATA
@l_avrot
Structure de la documentation
Tuturiel : partie I
Langage SQL : partie II et partie IV.I
Administration : partie III
Drivers de connexion : Partie IV et VIII.H
Programmation : Partie V
Aide sur les applications clientes : Partie VI.II
Aide sur les applications serveur : Partie VI.III
 LOXODATA
@l_avrot
Mailing-lists
Soumission de bug (utilisez le )
pgsql-novice pour les nouveaux
pgsql-hackers
formulaire
 LOXODATA
@l_avrot
Pour les problèmes de sécurité :
security@postgresql.org
 LOXODATA
@l_avrot
IRC
Canal #postgresql #postgresqlfr sur irc.freenode.net
Discussions en direct avec d'autres utilisateurs PostgreSQL
N'ayez pas peur de demander
 LOXODATA
@l_avrot
irc.freenode.net
 LOXODATA
@l_avrot
Autres manières d'obtenir de l'aide
Postgres
Postgres
Forums (as )
Slack
hangout
stackexchange
 LOXODATA
@l_avrot
CONCLUSION
 LOXODATA
@l_avrot
C'est à vous maintenant!
 LOXODATA
@l_avrot
QUESTIONS ?
On recrute
recrutement@loxodata.com

Weitere ähnliche Inhalte

Was ist angesagt?

Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...ENSET, Université Hassan II Casablanca
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logicielserge sonfack
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep DiveDocker, Inc.
 
DHCP sous Ubuntu
DHCP sous Ubuntu DHCP sous Ubuntu
DHCP sous Ubuntu Souhaib El
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
DHCP sous fedora
DHCP sous fedora DHCP sous fedora
DHCP sous fedora Souhaib El
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Julien Maitrehenry
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINXNGINX, Inc.
 

Was ist angesagt? (20)

Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
DHCP sous Ubuntu
DHCP sous Ubuntu DHCP sous Ubuntu
DHCP sous Ubuntu
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
DHCP sous fedora
DHCP sous fedora DHCP sous fedora
DHCP sous fedora
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 

Ähnlich wie PostgreSQL pour débutants

Comment contribuer à PostgreSQL
Comment contribuer à PostgreSQLComment contribuer à PostgreSQL
Comment contribuer à PostgreSQLLætitia Avrot
 
Sauvez le monde avec PITR!
Sauvez le monde avec PITR!Sauvez le monde avec PITR!
Sauvez le monde avec PITR!Lætitia Avrot
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
PostgreSQL et la réplication
PostgreSQL et la réplicationPostgreSQL et la réplication
PostgreSQL et la réplicationLætitia Avrot
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introOlivier Mallassi
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!David Caramelo
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !Carles Sistare
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab ElasticsearchDavid Pilato
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABESABES
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Lyon JUG - Elasticsearch
Lyon JUG - ElasticsearchLyon JUG - Elasticsearch
Lyon JUG - ElasticsearchDavid Pilato
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beatsgcatt
 
DevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoDevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoPierre Souchay
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesOpen Source Experience
 

Ähnlich wie PostgreSQL pour débutants (20)

Comment contribuer à PostgreSQL
Comment contribuer à PostgreSQLComment contribuer à PostgreSQL
Comment contribuer à PostgreSQL
 
Sauvez le monde avec PITR!
Sauvez le monde avec PITR!Sauvez le monde avec PITR!
Sauvez le monde avec PITR!
 
Pgbackrest meetup
Pgbackrest meetupPgbackrest meetup
Pgbackrest meetup
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
PostgreSQL et la réplication
PostgreSQL et la réplicationPostgreSQL et la réplication
PostgreSQL et la réplication
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABES
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Lyon JUG - Elasticsearch
Lyon JUG - ElasticsearchLyon JUG - Elasticsearch
Lyon JUG - Elasticsearch
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beats
 
sshGate
sshGatesshGate
sshGate
 
Une Introduction à R
Une Introduction à RUne Introduction à R
Une Introduction à R
 
DevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @CriteoDevoxxFR 2019: Consul @Criteo
DevoxxFR 2019: Consul @Criteo
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
 

PostgreSQL pour débutants