commit 9b3d11ce08ac37db6b74c5d7e18395d668cc67d7 Author: T0315986 Date: Tue Oct 28 14:05:44 2025 +0100 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..a531b09 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# API + +## prodtgres + +```bash +# Acerder à postgres +sudo su - postgres + +# itintialisation de la directory data +initdb -D /var/lib/postgres/data + +# Création d'un user +createuser --interactive + +# Création d'une base de donnée +createdb myDatabase + +# aller dans la base de donée +psql -d myDatabaseName +``` + +## SQLAlchemy + +### engine + +```python +# crée un eengine pour se copnnecter à une base de données avec un user +engine = create_engine( + "postgresql+psycopg2://postgres:password@localhost:5432/postgres", + isolation_level="", +) +``` + +#### isolation_level +| Niveau | Description | Effets | +| ------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| **READ UNCOMMITTED** | Peut lire des données non validées par d’autres transactions. | PostgreSQL ne le supporte pas vraiment, il se comporte comme READ COMMITTED. | +| **READ COMMITTED** (par défaut) | Chaque requête ne voit que les données validées à ce moment-là. | Si une autre transaction change quelque chose après que tu aies commencé, tu ne le vois qu’à la prochaine requête. | +| **REPEATABLE READ** | Toutes les requêtes dans la même transaction voient les mêmes données. | Tu vois un “instantané” cohérent pendant toute la transaction. Les nouvelles modifications des autres transactions ne sont pas visibles. | +| **SERIALIZABLE** | Niveau le plus strict. Les transactions se comportent comme si elles étaient exécutées l’une après l’autre. | Empêche tous les phénomènes d’anomalies concurrentes (lecture fantôme, etc.), mais peut provoquer des erreurs de serialization si conflit. | +| **AUTOCOMMIT** | Pas vraiment un niveau d’isolation | Exécute cette commande immédiatement, sans transaction