Skip to main content
Pre-release

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 : lastrowid fiable via lastval() sous garde savepoint (PG-INSERT-IDENTITY-001).
  • DDL : index en instructions CREATE INDEX séparées (PostgreSQL n'accepte pas d'index dans le CREATE 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_PRIVILEGES au-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)

Source distribution for forge-mvc-postgres 1.0.0rc7
File Size Uploaded
forge_mvc_postgres-1.0.0rc7.tar.gz 24.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for forge-mvc-postgres 1.0.0rc7
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page