Gå til innholdet

Direkte SQL

Det er selve grunnen til at basedb finnes: tabellene dine er ekte tabeller. Enhver PostgreSQL-klient leser dem under navnet deres.

ObjektFysisk navnEksempel
Databaseet skjema b_<tenant>_<nom>b_t4z56fq_ventes
Testmiljøskjemaet med suffiksb_t4z56fq_ventes_recette
Tabelldet slugifiserte navnetopportunites
Feltdet slugifiserte navnetecheance
Relasjon<table cible>_idclients_id
SQL-visningdet tekniske navnet, i databasens skjemafactures_a_encaisser

Siden API- og MCP-dokumentasjon for hver database viser dem alle, og \d i psql viser beskrivelsene (COMMENT ON).

+ i fanelinjen, eller databasens ⋯-meny → SQL-spørring: en editor med fargekoding og autofullføring, der resultatet vises i det samme rutenettet som tabellene dine.

En lagret spørring, og to SQL-visninger plassert blant tabellene

  • Alle leser med sine egne tillatelser: nivået Administrere har hele databasen, skriving inkludert; de andre medlemmene skriver skrivebeskyttet SQL, der en stengt tabell ikke finnes og et skjult felt forsvinner.
  • En spørring lagres under tabellene – for deg selv, for hele databasen eller for grupper –, og blir, om du vil, en SQL-visning: en ekte PostgreSQL-visning, plassert blant tabellene og lesbar fra psql.

Alt er beskrevet i detalj i Spørringer og SQL-visninger.

Med den medfølgende docker-compose.yml er PostgreSQL publisert på 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';

Denne kontoen er databasens eier: den leser alt, og basedbs tillatelser gjelder ikke der. For et BI-verktøy bør du heller opprette en egen rolle med sine egne GRANT. Hvis en tabell har en radregel, håndhever PostgreSQL radsikkerhet der: en slik rolle ser ingen rader uten attributtet BYPASSRLS eller en egen policy.

Det er tillatt. Begrensningene (enkeltvalg, relasjoner, URL-er, obligatorisk) håndheves av PostgreSQL og avviser en ugyldig verdi, akkurat som i grensesnittet. Og skrivingen føres i historikken: historikken viser den som «Direkte SQL-økt», med økten som utførte den, og den kan angres som alle andre.

basedb er fri programvare fra Eodia, et KI-nativt programvarestudio.