2021-06-17 pyWhat + Psycopg 2.9 + PGDays Nantes

pyWhat

Lina Khan, une farouche critique des GAFA, nommée à la tête de l’antitrust américain

A 32 ans, la nouvelle présidente de la Federal Trade Commission est une figure de proue des opposants aux « monopoles » de Google, Apple, Facebook et Amazon.

« Wow ! ». Les deux journalistes américains spécialistes du secteur technologique Geoffrey A. Fowler et Mike Swift ont eu, sur Twitter, la même réaction de surprise à l’annonce de la nomination de Lina Khan comme présidente de la Federal Trade Commission (FTC).

Personne ne s’attendait à ce que cette critique du pouvoir des géants du numérique soit propulsée, mardi 15 juin, à la tête du gendarme américain de la concurrence, seulement quelques heures après avoir été confirmée comme simple membre par un vote bipartisan du Sénat (69 pour 28 contre).

Le choc qu’a suscité le choix de Lina Khan par le président des Etats-Unis, Joe Biden, tient en partie à son profil. A seulement 32 ans, cette femme devient la plus jeune présidente de l’institution. Les médias américains notent aussi qu’elle est née à Londres de parents pakistanais, avant d’émigrer aux Etats-Unis à l’âge de 11 ans.

Psycopg 2.9 released

#psycopg2 2.9 has been released with a lot of changes Bombe de table

  • dropped support for #Python 2.7, 3.4, 3.5

  • wheel package compiled against #OpenSSL 1.1.1k and #PostgreSQL 13.3

  • wheels packages for i686, x86_64, aarch64 and ppc64le platforms

This is a relatively small release compared to previous major releases.

However the creation of the packages took a lot of effort. The previously used CI system now has reduced support for free software projects - it was decided that package building should be moved to GitHub Actions .

Packaging has also become more complex because of the evolution of the Python packaging standards and the need to support multiple architectures (Intel, ARM, PPC…).

Maintaining a project such as Psycopg requires a lot of effort. For this reason, we are extremely grateful to all our sponsors who are enabling the maintenance and development of Psycopg. Thank you very much!

What’s new in psycopg 2.9

  • with connection starts a transaction on autocommit transactions too (ticket #941).

  • Timezones with fractional minutes are supported on Python 3.7 and following (ticket #1272).

  • Escape table and column names in copy_from() and copy_to().

  • Connection exceptions with sqlstate 08XXX reclassified as OperationalError (a subclass of the previously used DatabaseError) (ticket #1148).

  • Include library dirs required from libpq to work around MacOS build problems (ticket #1200).

Other changes

  • Dropped support for Python 2.7, 3.4, 3.5 (ticket #1198, ticket #1000, ticket #1197).

  • Dropped support for mx.DateTime.

  • Use datetime.timezone objects by default in datetime objects instead of FixedOffsetTimezone.

  • The psycopg2.tz module is deprecated and scheduled to be dropped in the next major release.

  • Provide PEP 599 wheels packages (manylinux2014 tag) for i686 and x86_64 platforms.

  • Provide PEP 600 wheels packages (manylinux_2_24 tag) for aarch64 and ppc64le platforms.

  • Wheel package compiled against OpenSSL 1.1.1k and PostgreSQL 13.3.

  • Build system for Linux/MacOS binary packages moved to GitHub Actions.

@PGDAY_Fr https://www.youtube.com/watch?v=LX7QZNovvI0

Estimer l’empreinte écologique de PostgreSQL

Par Damien Clochard - DALIBO

Vos bases de données sont-elles des gouffres énergétiques ?

S’il est relativement aisé de calculer le cout financier d’une instance PostgreSQL, la mesure de son impact environnemental est beaucoup plus complexe.

C’est pourtant un critère fondamental pour les organisations qui veulent mettre en place d’écoconception de leurs systèmes d’informations

Heu, il faut chiffrer les données de la base ! On fait comment ? Par Vincent Graillot - UMANIT

../../../_images/vincent_graillot.png

Avec le RGPD, nous sommes de plus en plus sollicités pour chiffrer les données de la base de données. Je vous propose de parcourir les solutions possibles de chiffrement avec les avantages et les inconvénients et à travers un cas pratique, je vais vous présenter une solution de chiffrement sur une application existante.

Règles de paramétrage de PostgreSQL

Par Frédéric Delacourt - Data Bene

Les aides au paramétrage telles que PGTune, PGConfig, … proposent des configurations basées sur les règles bien connues de paramétrage de PostgreSQL.

Je vous propose une critique de ces règles.

Il existe une dizaine de règles de paramétrage de PostgreSQL bien connues.

Elles adressent shared_buffers, effective_cache_size, max_connections, effective_io_concurrency, …

Elles sont utilisées par les outils comme PGTune qui répondent à un besoin réel : comment paramétrer PostgreSQL pour qu’il offre de bonnes performances.

Je vous propose d’expliquer les paramètres concernés puis une critique de ces règles et même une critique des outils d’aide car chacun apporte sa petite différence parfois pittoresque.

pg_stat_statements ou comment savoir où ça fait mal (PGSS)

pg_stat_statements par @dbaffaleuf

Par David Baffaleuf - CAP DATA CONSULTING

David est expert SQL Server, MySQL / MariaDB et PostgreSQL, avec une touche de MongoDB.

Il est product owner et développeur back end de la plateforme DBA à distance de CAP DATA, et manage l’équipe.

Il est également ancien SQL Server MVP, consultant, formateur et speaker.

A l’heure des bases de données en cloud et autres services managés, où la performance coûte cher, il peut être intéressant d’investir dans la recherche d’optimisation plutôt que dans la surenchère de moyens.

L’extension pg_stat_statements propose une interface pour lister et classer les requêtes ou blocs procéduraux les plus coûteux en temps d’exécution, en nombre de lignes ou en entrées/sorties logiques ou physiques.

C’est votre allié principal dans l’analyse SQL sur PostgreSQL.

Nous allons voir comment bien comprise et bien utilisée, cette extension peut nous permettre de gagner un temps précieux sur l’identification et le suivi dans le temps de la charge sur un cluster PostgreSQL.

pgRouting comme aide à la décision des Services d’Incendie et de Secours

Chef de projet - Geospatial Solutions chez CAMPTOCAMP

Diplômé en Cartographie et SIG depuis 2010 et développeur autodidacte, Adrien a travaillé près de 7 ans pour le pôle SIG d’une grande ESN.

En 2019, il a rejoint la société CAMPTOCAMP, pour participer au projet NexSIS 18-112, en tant que responsable de projet SIG.

Par Adrien Van Hamme - CAMPTOCAMP

Dans le cadre de la modernisation de leur SI, les Services d’Incendie et de Secours cherchent à identifier les camions qui mettront le moins de temps à se rendre sur place pour intervenir.

Ce calcul d’itinéraire doit donc être à la fois performant et flexible, pour une aide à la décision optimale.

Ainsi, il faut qu’il puisse tenir compte du gabarit des véhicules, ainsi que des contraintes de circulation (permanentes ou temporaires).

La gestion du trafic et les règles de circulation spécifiques aux véhicules d’urgence amènent autant de problématiques que pgRouting est en mesure de résoudre.

REX PostgreSQL managé (Google Cloud SQL)

Par Guenaël Gonnord - LOXODATA

Comment observer une instance PostgreSQL managée sans passer par l’UI propriétaire d’un Cloud Provider ? Exemple en utilisant des outils issus du monde Open Source (Prometheus/Grafana/Airflow/pgBadger).

Quelques mauvaises pratiques rencontrées, et leur correction, Stephane Schildknecht

Par Stéphane Schildknecht - LOXODATA

Stéphane Schildknecht Fondateur et dirigeant LOXODATA

Stéphane Schildknecht a contribué à la fondation de l’association PostgreSQLFr , qu’il a présidé de 2005 à 2010.

DBA certifié PostgreSQL, consultant en bases de données pendant 20 ans, il a fondé LOXODATA en 2010. Stéphane est contact régional PostgreSQL pour l’Europe francophone.

En tant que société de conseil, nous accompagnons nos clients dans le déploiement et l’optimisation de PostgreSQL.

Dans ce cadre, nous avons été amenés à intervenir sur de nombreuses solutions « innovantes » mises en place par nos clients.

Si certaines de ces idées sont réellement innovantes et intéressantes, d’autres, contre-productives, apportent plus de problèmes que de solutions.

Dans cette présentation, nous présenterons quelques-unes de ces idées, les analyserons et détaillerons les solutions apportées pour s’assurer que le service rendu soit conforme aux attentes.

  • RAID5 pas le plus efficace pour PostgreSQL

  • mcd : modèle conceptuel de données

  • lIQUIBASE, PYRSESas

  • 3e Forme normale

Partitionnement automatique avec PostgreSQL par Cédric Villemain, @PGDAY_Fr

Par Cédric Villemain - Data Bene

Intéressé par les problématiques de Haute-Disponibilité et de qualité de service, il contribue aux différents projets qu’il utilise et promeut.

PostgreSQL fournit désormais un ensemble de fonctionnalités pour mettre en place, utiliser et profiter des optimisations des tables partitionnées.

Toutefois des améliorations sont encore nécessaires pour rendre le système plus simple à administrer, en particulier une gestion plus automatisée de la création et suppression des partitions.

  • github.com/postgrespro/pg_pathman

Zero-downtime schema migrations in Postgres using views + SET search_path TO A;

I often use views to run migrations w/o downtime, but I often get into problems with table names that need to change

#TIL you can define a « search path » to set the schemes in which PostgreSQL looks for tables

This is the closest pg gets to synonyms!

-- Older clients can still access the old column name
SET search_path TO A;
SELECT id, email, name FROM users;

-- Results:
-- +----+-------------------------+-----------------+
-- | id |          email          |      name       |
-- +----+-------------------------+-----------------+
-- |  1 | jerry.seinfeld@aol.com  | Jerry Seinfeld  |
-- |  2 | george.costanza@aol.com | George Costanza |
-- +----+-------------------------+-----------------+


-- New clients just have to update their search path
SET search_path TO B;
SELECT user_id, email, name FROM users;

-- Results:
-- +---------+-------------------------+-----------------+
-- | user_id |          email          |      name       |
-- +---------+-------------------------+-----------------+
-- |       1 | jerry.seinfeld@aol.com  | Jerry Seinfeld  |
-- |       2 | george.costanza@aol.com | George Costanza |
-- +---------+-------------------------+-----------------+