This release is a pre-release and may not be stable for production use.
forge-mvc-postgres
Backend BDD PostgreSQL pour Forge, au-dessus de
psycopg (v3).
Depuis l'ADR-054, le cœur de Forge est agnostique BDD : il découvre le backend installé via un entry point. Ce paquet ajoute PostgreSQL à la liste des choix de SGBD du développeur.
!!! note "Niveau plein"
Backend au niveau plein (ADR-084, révision du 2026-07-19).
L'intégration est validée en CI contre un vrai PostgreSQL 16 (couche BDD et runner de migrations).
forge db:init génère le SQL de provisioning ; forge db:init --run l'exécute.
Installation
pip install forge-mvc forge-mvc-postgres
PostgreSQL est client-serveur : un serveur PostgreSQL doit être joignable
(installé localement, en conteneur docker run ... postgres, ou distant).
psycopg n'est que le client.
Particularités gérées
- Paramètres : Forge génère du SQL avec
?; l'adaptateur traduit en%s(format psycopg) à l'exécution, en préservant les littéraux chaîne. - Identité : clé primaire auto-incrémentée en
BIGSERIAL. - Insertion :
lastrowidfiable vialastval()sous garde savepoint (PG-INSERT-IDENTITY-001). - DDL : index en instructions
CREATE INDEXséparées (PostgreSQL n'accepte pas d'index dans leCREATE TABLE), guillemets doubles, types PostgreSQL.
Configuration
Connexion via l'environnement (DB_HOST, DB_PORT, DB_NAME, DB_APP_LOGIN,
DB_APP_PWD). Un seul backend BDD par projet : n'installez pas en même temps un
autre backend, ou fixez DB_BACKEND.
Provisioning
forge db:init génère et affiche le SQL de provisioning PostgreSQL
(rôles admin et applicatif, base, GRANT, ALTER DEFAULT PRIVILEGES,
table forge_migrations).
forge db:init --run l'exécute : le compte DB_ADMIN_* doit exister ;
--run crée la base, le rôle applicatif et le registre de migrations.
Limites connues
- L'escape hatch
DB_APP_PRIVILEGESau-delà du DML (SELECT, INSERT, UPDATE, DELETE) reste propre à MariaDB : refus explicite sur PostgreSQL. - L'introspection de diff compare des noms de types PostgreSQL : le suivi incrémental de schéma peut être imparfait.
Licence
Propriétaire (voir LICENSE). Trajectoire MIT visée à la version 1.0.0 stable.
Release files for forge-mvc-postgres 1.0.0rc7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| forge_mvc_postgres-1.0.0rc7.tar.gz | 24.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forge_mvc_postgres-1.0.0rc7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.5 kB
Release files / forge_mvc_postgres-1.0.0rc7.tar.gz
| Download URL | forge_mvc_postgres-1.0.0rc7.tar.gz |
|---|---|
| Size | 24.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63d9d5716a34fb43d905229660f127f0f1ef6b1f2c654463bde195165b1605e6
|
|
BLAKE2b-256 checksum How to use checksums |
94a775ad828b2a3508519a8947f710d80f22907ffb4d978bf9039a9a7d8ee36d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / forge_mvc_postgres-1.0.0rc7-py3-none-any.whl
| Download URL | forge_mvc_postgres-1.0.0rc7-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
913fd8c7d1452215ea42a7a32aefd48a09061ccaa4d6f7b2fe9037598a6cb91c
|
|
BLAKE2b-256 checksum How to use checksums |
46ecd65cd3deb6864cb18b7baaa6a0b8937062b8c64559bab5f4e5e6ec575dad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|