psycopg2-batch-insert-optimization

Par divinevideo · divine-mobile

Skill opérationnel pour optimiser les insertions PostgreSQL en Python via psycopg2, en remplaçant executemany() par execute_values() pour des gains drastiques de performance.

npx skills add https://github.com/divinevideo/divine-mobile --skill psycopg2-batch-insert-optimization

psycopg2 Batch Insert Optimization

Ce skill fournit à Claude une connaissance ciblée et actionnable pour résoudre un problème classique de performance : les insertions PostgreSQL ligne par ligne (ou via executemany()) deviennent prohibitivement lentes dès que la latence réseau entre en jeu. Il documente la solution recommandée — execute_values() de psycopg2.extras — avec les paramètres clés, les patterns d'upsert et le suivi de progression pour les migrations longues.

Le skill est hébergé dans le repository divinevideo/divine-mobile, qui est l'application Flutter/Nostr Divine. Bien que le codebase principal soit en Dart/Flutter, la présence de ce skill suggère que l'équipe effectue des opérations de migration ou de traitement de données en Python (par exemple, migration depuis SQLite vers PostgreSQL Cloud SQL), et souhaite que Claude applique automatiquement les bonnes pratiques sans avoir à re-expliquer le contexte à chaque session.

Ce que couvre ce skill

Le SKILL.md est complet et non-placeholder : il contient des conditions de déclenchement précises (>100 lignes, latence réseau, migration de données), la solution avec exemples de code, les paramètres page_size, les patterns ON CONFLICT, un exemple réel de migration de 9 563 utilisateurs (~20 secondes au lieu de ~2,5 heures), ainsi qu'un tableau de correspondance des différences de syntaxe SQLite → PostgreSQL.

Lorsque Claude détecte une situation correspondant aux conditions décrites (inserts lents, executemany() insuffisant, migration de dataset), il peut s'appuyer sur ce skill pour proposer directement la bonne implémentation avec execute_values(), le bon page_size et la gestion des commits par batch.

Utilisation

Ce skill est destiné à être utilisé via un agent Claude configuré avec le répertoire .claude/skills/ du repository. Il n'y a rien à dupliquer ni à modifier : le contenu est prêt à l'emploi et sert de mémoire contextuelle persistante pour Claude sur les problématiques d'optimisation d'insertions PostgreSQL au sein du projet Divine.

Skills similaires