Aller au contenu

SQL direct

C’est la raison d’être de basedb : vos tables sont de vraies tables. Tout client PostgreSQL les lit sous leur nom.

ObjetNom physiqueExemple
Baseun schéma b_<tenant>_<nom>b_t4z56fq_ventes
Environnement de recettele schéma suffixéb_t4z56fq_ventes_recette
Tableson nom slugifiéopportunites
Champson nom slugifiéecheance
Relation<table cible>_idclients_id
Vue SQLson nom technique, dans le schéma de la basefactures_a_encaisser

La page Documentation API et MCP de chaque base les donne tous, et \d dans psql montre les descriptions (COMMENT ON).

Le + de la barre d’onglets, ou menu ⋯ de la base → Requête SQL : un éditeur avec coloration et complétion, dont le résultat s’affiche dans la même grille que vos tables.

Une requête enregistrée, et deux vues SQL rangées parmi les tables

  • Chacun y lit avec ses droits : le niveau Gestion a toute la base, écritures comprises ; les autres membres écrivent du SQL en lecture seule, où une table fermée n’existe pas et un champ masqué disparaît.
  • Une requête s’enregistre sous les tables — pour soi, pour toute la base ou pour des groupes —, et devient, si l’on veut, une vue SQL : une vraie vue PostgreSQL, rangée parmi les tables et lisible depuis psql.

Tout est détaillé dans Requêtes et vues SQL.

Avec le docker-compose.yml fourni, PostgreSQL est publié sur 127.0.0.1:5432 :

Fenêtre de terminal
psql "postgres://basedb:<POSTGRES_PASSWORD>@localhost:5432/basedb"
SET search_path = b_t4z56fq_ventes;
SELECT o.nom, o.montant, c.nom AS client
FROM opportunites o
JOIN clients c ON c._id = o.clients_id
WHERE o.statut = 'gagne';

Ce compte est le propriétaire de la base : il lit tout, et les droits de basedb ne s’y appliquent pas. Pour un outil de BI, créez plutôt un rôle à part avec ses propres GRANT. Si une table porte une règle de lignes, PostgreSQL y applique la sécurité par ligne : un tel rôle n’y voit aucune ligne sans l’attribut BYPASSRLS ou une politique à lui.

C’est permis. Les contraintes (listes de choix, relations, liens URL, obligatoire) sont tenues par PostgreSQL et refusent une valeur invalide, comme dans l’interface. Et l’écriture est historisée : l’historique l’affiche comme « Session SQL directe », avec la session qui l’a faite, et elle s’annule comme les autres.

basedb est un logiciel libre d’Eodia, studio de logiciel IA-natif.