Enabling JIT by default
- Just In Time compilatie is een van de sterke features van PostgreSQL. Het compileren van functies tijdens de executie van langdurige CPU-bound queries (analytische queries) kan aanzienlijke performance verschillen geven.
- In de plan output is zichtbaar wanneer gebruik wordt gemaakt van JIT. Deze output is in PostgreSQL 12 ook verrijkt.
- Schrik niet wanneer je Postgres op RedHat, CentOS of Fedora installeert. Er wordt een extra dependency geïnstalleerd: postgresql12-llvmjit.
Plug
gable storage
- Een eerste begin is gemaakt om andere storage engines te kunnen gebruiken.
- In latere releases, vanaf PostgreSQL 13, verwachten we dat het beter bruikbaar wordt, zoals vaker het geval met nieuwe features in PostgreSQL zoals partitioning.
DOS prevention for some commands
- Een aantal maanden geleden kwam naar voren dat bij een VACUUM FULL, TRUNCATE en REINDEX een Denial of Service kunnen optreden. Dat laatste is opgelost met een patch op PostgreSQL 11. De rest wordt nu opgelost in PostgreSQL 12. Kijk voor details op https://paquier.xyz/postgresql-2/postgres-12-dos-prevention/
Improved partitioning
- Sinds de implementatie van partitioning in versie 10 is er al veel energie gestoken in dit onderwerp. De verbeteringen zitten nu in het beschikbaar stellen van 2 functies voor informatie over de partitoning tree:
- pg_partition_root
- pg_partition_tree
Integration of recovery.conf in postgresql.conf
- PostgreSQL 12 geeft een error als recovery.conf gevonden wordt. Deze aanpassing heeft een aantal gevolgen voor de manier waarop kan worden omgegaan met restores, recovery en trigger files. De trigger_file is bijvoorbeeld hernoemd naar promote_trigger_file om meer verklarend te zijn. Er is slechts en reload nodig om archive_cleanup_command, promote_trigger_file, recovery_end_command en recovery_min_apply_delay aan te passen.
Overige PostgreSQL performance verbeteringen
Verder zitten er veel verschillende kleine performance verbeteringen en usability enhancements aan te komen op het gebied van bijvoorbeeld psql en psql tab complete, SKIP_LOCKED for VACUUM, ANALYZE en vacuumdb options for xid and mxid. Teveel om allemaal op te noemen. Het complete overzicht kun je vinden op: https://bit.ly/2VxWUF7
Conclusie
Alles bij elkaar zitten zitten er dus weer veel mooie features in de komende release. Naar verwachting is PostgreSQL 12 Beta aan het begin van de zomer beschikbaar. Tot die tijd kun je de ontwikkeling volgen in de development versie op GitHub.
Wil je meer weten over de nieuwe features van PostgreSQL en de praktische implementatie daarvan? Neem dan contact met ons op voor informatie, of bezoek eens een PostgreSQL meetup of conferentie.