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.
Metadata
Release files for forge-mvc-postgres 1.0.0rc9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| forge_mvc_postgres-1.0.0rc9.tar.gz | 28.5 kB | Without provenance | Details for forge_mvc_postgres-1.0.0rc9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| forge_mvc_postgres-1.0.0rc9-py3-none-any.whl | Python 3 | none | any | Details for forge_mvc_postgres-1.0.0rc9-py3-none-any.whl |
Total release size: 48.3 kB
Release files / forge_mvc_postgres-1.0.0rc9.tar.gz
| Download URL | forge_mvc_postgres-1.0.0rc9.tar.gz |
|---|---|
| Size | 28.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6aa130765d2bee613d339c6dc57ffc88d97e6823a175d2b12644793023ca2880
|
|
BLAKE2b-256 checksum How to use checksums |
3f009a6be4eb76262aa92dc74fc05648133b068809852b77fcb99177f1b1bf70
|
| 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.0rc9-py3-none-any.whl
| Download URL | forge_mvc_postgres-1.0.0rc9-py3-none-any.whl |
|---|---|
| Size | 19.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b12582b689e497889a8be6bba0e36ae8bc6ea617e1923cad7335937f276956b
|
|
BLAKE2b-256 checksum How to use checksums |
6058b7660a611cd260f758c173583292c7ce55fdeef726346a5bdabee9ff3b07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for forge-mvc-postgres 1.0.0rc9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.