Nouveautés de PostgreSQL 12
12
https://dalibo.com/formations
Nouveautés de PostgreSQL 12
Workshop 12
SOUS-TITRE : Workshop 12 REVISION: 12
LICENCE: PostgreSQL
Nouveautés de PostgreSQL 12 7
La v12 . . . 8
Les nouveautés . . . 9
Développement / SQL . . . 10
Partitionnement . . . 11
Réplication . . . 12
Monitoring . . . 13
Administration . . . 14
Environnement Client . . . 15
Outils . . . 16
Paramètres de configuration . . . 17
Performances . . . 18
REINDEX CONCURRENTLY . . . 19
CREATE STATISTICS mcv . . . 20
Méthode de mise en cache des plans d’exécution . . . 21
Fonctions d’appui (support functions) . . . 22
JIT par défaut . . . 23
Modification du comportement par défaut des requêtesCTE . . . 24
Performances du partitionnement . . . 25
Incompatibilités . . . 26
pg_verify_checksumsrenommée enpg_checkums . . . 27
Fonctionnalités futures . . . 28
Pluggable storage . . . 29
5
6
NOUVEAUTÉS DE POSTGRESQL 12
Photographie deIkiwaner1, licenceGNU FREE Documentation Licence2, obtenue sur wikimedia.org3.
Participez à ce workshop !
Pour des précisions, compléments, liens, exemples, et autres corrections et suggestions, soumettez vosPull Requestsdans notre dépôt :
https://github.com/dalibo/workshops/tree/master/fr Licence :PostgreSQL4
Ce workshop sera maintenu encore plusieurs mois après la sortie de la version 12.
1https://commons.wikimedia.org/wiki/User:Ikiwaner
2https://en.wikipedia.org/wiki/fr:Licence_de_documentation_libre_GNU 3https://fr.wikipedia.org/wiki/Fichier:Etosha_elefant.jpg
4https://github.com/dalibo/workshops/blob/master/LICENSE.md
https://dalibo.com/formations 7
LA V12
• Développement depuis le 30 juin 2018
• sortie le 3 octobre 2019
• v12.1 sortie le 14/11/2019
8
LES NOUVEAUTÉS
• Développement SQL
• Partitionnement
• Réplication
• Monitoring
• Administration
• Performances : index
• Incompatibilités
• Fonctionnalités futures
• Ateliers
https://dalibo.com/formations 9
DÉVELOPPEMENT / SQL
• Colonnes générées par une expressionIMMUTABLE
• ColonneOIDsupprimée
• COMMITouROLLBACK AND CHAIN
• COPY FROM WHERE
10
PARTITIONNEMENT
• Clés étrangères
• Fonctions d’information :
– pg_partition_rootrenvoie la partition mère d’une partition,
– pg_partition_ancestorsrenvoie la partition mère ainsi que la partition con- cernée
– pg_partition_treerenvoie tout l’arbre de la partition sous forme de tuples
• Commande\dP
https://dalibo.com/formations 11
RÉPLICATION
• Nouveauté despostgresql.confetrecovery.conf
• 2 fichierstrigger
• Paramètres modifiables à chaud
• Fonctionpg_promote()
• Copie de slot de réplication
12
MONITORING
• Échantillon des requêtes dans les logs
• Vues de progression pourCREATE INDEX,CLUSTER,VACUUM
• Listing :
– des fichiers dans les répertoiresstatusdes archives deswals – des fichiers temporaires
• pg_stat_replication: timestamp du dernier message reçu du secondaire
https://dalibo.com/formations 13
ADMINISTRATION
• Nouveautés sur leVACUUM
– VACUUM (TRUNCATE on):locket libération de l’espace de fin de table – VACUUM (SKIP_LOCKED ON)
– VACUUM (INDEX_CLEANUP OFF): favoriser lesVACUUM FREEZE – Nouvelles options devacuumdb
• Recyclage desWALs – wal_recycle – wal_init_zero
• Outils :pg_upgrade,pg_ctl,pg_checksums
• Paramètres depostgresql.conf
14
ENVIRONNEMENT CLIENT
• FormatageCSVen sortie depsql
• EXPLAIN (SETTINGS)
https://dalibo.com/formations 15
OUTILS
• pg_upgrade --clone: clonage à l’aide dereflink
• Rotation des logs avecpg_ctl logrotate
• pg_verify_checksumsdevientpg_checksums
• pg_checksums --enable | --disable
16
PARAMÈTRES DE CONFIGURATION
• Nouveaux paramètres
• disparition du fichierrecovery.conf
• valeur par défaut modifiée
https://dalibo.com/formations 17
PERFORMANCES
• REINDEX CONCURRENTLY
• CREATE STATISTICSpour les distributions non-uniformes
• paramètreplan_cache_mode
• fonctions d’appui : pour améliorer les estimations de coût des fonctions
• JITpar défaut
• OptimisationCTE:MATERIALIZED/NOT MATERIALIZED
• Meilleures performances sur le partitionnement
18
REINDEX CONCURRENTLY
• REINDEX CONCURRENTLY
https://dalibo.com/formations 19
CREATE STATISTICS MCV
• Nouveau typeMCVpour la commandeCREATE STATISTICS
• MCV signifieMost Common Values
• collecte les valeurs les plus communes pour un ensemble de colonnes
20
MÉTHODE DE MISE EN CACHE DES PLANS D'EXÉCUTION
• Transactionspréparées
• plan_cache_mode auto
• Trois modes:
– auto
– force_custom_plan – force_generic_plan
https://dalibo.com/formations 21
FONCTIONS D'APPUI (SUPPORT FUNCTIONS)
• Améliore la visibilité du planificateur sur les fonctions
• possibilité d’associer à une fonction une fonction « de support »
• produit dynamiquement des informations sur:
– la sélectivité
– le nombre de ligne produit – son coût d’exécution
• La fonction doit être écrite en C
22
JIT PAR DÉFAUT
• JIT (Just-In-time) est maintenant activé par défaut
https://dalibo.com/formations 23
MODIFICATION DU COMPORTEMENT PAR DÉFAUT DES REQUÊTES CTE
• LesCTEne sont plus des barrières d’optimisation
• Modification du comportement par défaut des CTE – MATERIALIZED
– NOT MATERIALIZED(par défaut)
• requêtes non récursives
• requêtes référencées une seule fois
• requêtes n’ayant aucun effet de bord
24
PERFORMANCES DU PARTITIONNEMENT
• Performances accrues avec un grand nombre de partitions
• Verrous lors des manipulations de partitions
• support des clés étrangères vers une table partitionnée
• Amélioration du chargement de données
https://dalibo.com/formations 25
INCOMPATIBILITÉS
• Disparition durecovery.conf
• max_wal_sendersn’est plus inclus dansmax_connections
• Noms des clés étrangères
• TablesWITH OIDSn’existent plus
• Types de données supprimés
• Fonctionsto_timestampetto_date
• Outilpg_checksums
26
PG_VERIFY_CHECKSUMSRENOMMÉE ENPG_CHECKUMS
• pg_verify_checksumsdevientpg_checkums
https://dalibo.com/formations 27
FONCTIONNALITÉS FUTURES
• Pluggable storage – HEAP storage – column storage – Zed Heap – blackhole
28
PLUGGABLE STORAGE
HEAP storage
• HEAP storage
• méthode de stockage par défaut
• seule méthode supportée pour le moment
https://dalibo.com/formations 29
Zedstore: Column storage
• méthode orientée colonne
• données compressées
• nom temporaire !
30
zHeap
• UNDOplutôt queREDO
• meilleur contrôle dubloat
• réduction de l’amplification des écritures
• réduction de la taille des entêtes
• méthode basée sur les différences
Méthode d’accèsBlackhole
• sert de base pour créer une extensionAccess Method
• toute donnée ajoutée est envoyée dans le néant
https://dalibo.com/formations 31
FORMATIONS
• DBA1 - PostgreSQL Administra onRévision 18.12 / ISBN : 979-10-97371-40-1
• DBA2 - PostgreSQL AvancéRévision 18.12 / ISBN : 979-10-97371-41-8
• DBA3 - PostgreSQL Réplica onRévision 18.12 / ISBN : 979-10-97371-42-5
• DBA4 - PostgreSQL PerformancesRévision 18.12 / ISBN : 979-10-97371-43-2
• DBA5 - PostgreSQL Sauvegardes avancéesRévision 18.12 / ISBN : 979-10-97371- 44-9
• SQL1 - SQL Concep on et Mise en ŒuvreRévision 18.12 / ISBN : 979-10-97371- 45-6
• SQL2 - SQL AvancéRévision 18.12 / ISBN : 979-10-97371-46-3
• SQL3 - Développer en PL/pgSQLRévision 18.12 / ISBN : 979-10-97371-47-0
• SQL4 - PostgreSQL : L’état de l’artRévision 18.12 / ISBN : 979-10-97371-48-7
• SQL5 - Migrer d’Oracle vers PostgreSQLRévision 18.12 / ISBN : 979-10-97371- 49-4
LIVRES BLANCS
• Migrer d’Oracle à PostgreSQL
• Industrialiser PostgreSQL
TÉLÉCHARGEMENT GRATUIT
Les versions électroniques de nos publica ons sont disponibles gratuitement sous licence open-source ou sous licence Crea ve Commons. Contactez-nous à l’adresse contact@
dalibo.com pour plus d’informa on.
Depuis 2005, DALIBO met à la disposi on de ses clients son savoir-faire dans le domaine des bases de données et propose des services de conseil, de forma on et de support aux entreprises et aux ins tu onnels.
En parallèle de son ac vité commerciale, DALIBO contribue aux développements de la communauté PostgreSQL et par cipe ac vement à l’anima on de la communauté fran- cophone de PostgreSQL. La société est également à l’origine de nombreux ou ls libres de supervision, de migra on, de sauvegarde et d’op misa on.
Le succès de PostgreSQL démontre que la transparence, l’ouverture et l’auto-ges on sont à la fois une source d’innova on et un gage de pérennité. DALIBO a intégré ces principes dans son ADN en optant pour le statut de SCOP : la société est contrôlée à 100 % par ses salariés, les décisions sont prises collec vement et les bénéfices sont partagés à parts égales.