Tovább a tartalomhoz

Közvetlen SQL

Ez a basedb létjogosultsága: a táblái valódi táblák. Bármely PostgreSQL-kliens a nevükön olvassa őket.

ObjektumFizikai névPélda
Adatbázisegy b_<tenant>_<nom> sémab_t4z56fq_ventes
Teszt környezetaz utótaggal ellátott sémab_t4z56fq_ventes_recette
Táblaa slugosított neveopportunites
Mezőa slugosított neveecheance
Kapcsolat<table cible>_idclients_id
SQL-nézeta technikai neve, az adatbázis sémájábanfactures_a_encaisser

Minden adatbázis API- és MCP-dokumentáció oldala mindet megadja, a psql-ben pedig a \d megmutatja a leírásokat (COMMENT ON).

A lapsáv + gombja, vagy az adatbázis ⋯ menüje → SQL-lekérdezés: egy szerkesztő szintaxiskiemeléssel és kódkiegészítéssel, amelynek eredménye ugyanabban a rácsban jelenik meg, mint a táblái.

Egy mentett lekérdezés, és két SQL-nézet a táblák között

  • Itt mindenki a saját jogosultságaival olvas: a Kezelés szint a teljes adatbázishoz hozzáfér, az írást is beleértve; a többi tag csak olvasási SQL-t ír, ahol egy hozzáférhetetlen tábla nem létezik, egy elrejtett mező pedig eltűnik.
  • Egy lekérdezés menthető a táblák alá – saját magának, az egész adatbázisnak vagy csoportoknak –, és ha szeretné, SQL-nézet lehet belőle: egy valódi PostgreSQL-nézet a táblák között elhelyezve, amely a psql-ből is olvasható.

Minden részlet megtalálható itt: Lekérdezések és SQL-nézetek.

A mellékelt docker-compose.yml fájllal a PostgreSQL a 127.0.0.1:5432 címen van közzétéve:

Terminál
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';

Ez a fiók az adatbázis tulajdonosa: mindent olvas, és a basedb jogosultságai nem érvényesek rá. BI-eszközhöz inkább hozzon létre egy külön szerepkört, saját GRANT-okkal. Ha egy tábla sorszintű szabályt hordoz, a PostgreSQL érvényesíti rajta a sorszintű biztonságot: egy ilyen szerepkör egyetlen sort sem lát a BYPASSRLS attribútum vagy egy saját politika nélkül.

Megengedett. A megszorításokat (egyszeres választások, kapcsolatok, URL-ek, kötelező mezők) a PostgreSQL érvényesíti, és elutasítják az érvénytelen értéket, ugyanúgy, mint a felületen. Az írás pedig bekerül az előzményekbe: az előzmények „Közvetlen SQL-munkamenet” néven jelenítik meg, az azt végrehajtó munkamenettel együtt, és ugyanúgy visszavonható, mint a többi.

A basedb az Eodia, egy MI-natív szoftverstúdió szabad szoftvere.