api-mood/README.md
2025-11-03 11:34:09 +01:00

42 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API
## postgres
```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