Ir al contenido

SQL directo

Es la razón de ser de basedb: tus tablas son tablas reales. Cualquier cliente PostgreSQL las lee por su nombre.

ObjetoNombre físicoEjemplo
Baseun esquema b_<tenant>_<nom>b_t4z56fq_ventes
Entorno de preproducciónel esquema con un sufijob_t4z56fq_ventes_recette
Tablasu nombre slugificadoopportunites
Camposu nombre slugificadoecheance
Relación<table cible>_idclients_id
Vista SQLsu nombre técnico, en el esquema de la basefactures_a_encaisser

La página Documentación de API y MCP de cada base los indica todos, y \d en psql muestra las descripciones (COMMENT ON).

El + de la barra de pestañas, o el menú ⋯ de la base → Consulta SQL: un editor con resaltado y autocompletado, cuyo resultado se muestra en la misma cuadrícula que tus tablas.

Una consulta guardada y dos vistas SQL colocadas entre las tablas

  • Cada uno lee con sus permisos: el nivel Gestión abarca toda la base, escrituras incluidas; los demás miembros escriben SQL en solo lectura, donde una tabla cerrada no existe y un campo oculto desaparece.
  • Una consulta se guarda bajo las tablas (para uno mismo, para toda la base o para grupos) y se convierte, si se quiere, en una vista SQL: una vista PostgreSQL real, colocada entre las tablas y legible desde psql.

Todo se detalla en Consultas y vistas SQL.

Con el docker-compose.yml incluido, PostgreSQL se publica en 127.0.0.1:5432:

Ventana 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';

Esta cuenta es la propietaria de la base de datos: lo lee todo, y los permisos de basedb no se le aplican. Para una herramienta de BI, crea más bien un rol aparte con sus propios GRANT. Si una tabla lleva una regla de filas, PostgreSQL le aplica la seguridad por filas: un rol de este tipo no ve en ella ninguna fila sin el atributo BYPASSRLS o una política propia.

Está permitido. Las restricciones (selecciones únicas, relaciones, URL, obligatorio) las mantiene PostgreSQL y rechazan un valor no válido, igual que en la interfaz. Y la escritura queda registrada en el historial: el historial la muestra como «Sesión SQL directa», con la sesión que la hizo, y se deshace como las demás.

basedb es software libre de Eodia, estudio de software nativo de IA.