first commit

This commit is contained in:
T0315986 2025-10-28 14:05:44 +01:00
commit 9b3d11ce08

41
README.md Normal file
View File

@ -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 dautres 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 lune après lautre. | Empêche tous les phénomènes danomalies concurrentes (lecture fantôme, etc.), mais peut provoquer des erreurs de serialization si conflit. |
| **AUTOCOMMIT** | Pas vraiment un niveau disolation | Exécute cette commande immédiatement, sans transaction