Přeskočit na obsah

Přímé SQL

To je smyslem existence basedb: vaše tabulky jsou skutečné tabulky. Každý klient PostgreSQL je čte pod jejich názvem.

ObjektFyzický názevPříklad
Databázeschéma b_<tenant>_<nom>b_t4z56fq_ventes
Testovací prostředíschéma s příponoub_t4z56fq_ventes_recette
Tabulkajejí slugifikovaný názevopportunites
Polejeho slugifikovaný názevecheance
Vazba<table cible>_idclients_id
Pohled SQLjeho technický název ve schématu databázefactures_a_encaisser

Stránka Dokumentace API a MCP každé databáze je uvádí všechny a \d v psql ukazuje popisy (COMMENT ON).

+ na liště záložek nebo nabídka ⋯ databáze → Dotaz SQL: editor se zvýrazněním syntaxe a doplňováním, jehož výsledek se zobrazí ve stejné mřížce jako vaše tabulky.

Uložený dotaz a dva pohledy SQL zařazené mezi tabulky

  • Každý v něm čte se svými oprávněními: úroveň Správa má celou databázi včetně zápisů; ostatní členové píší SQL jen pro čtení, kde uzavřená tabulka neexistuje a skryté pole zmizí.
  • Dotaz se ukládá pod tabulky – pro sebe, pro celou databázi nebo pro skupiny – a pokud chcete, stane se z něj pohled SQL: skutečný pohled PostgreSQL, zařazený mezi tabulky a čitelný z psql.

Vše je podrobně popsáno v článku Dotazy a pohledy SQL.

S dodaným docker-compose.yml je PostgreSQL publikován na 127.0.0.1:5432:

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

Tento účet je vlastníkem databáze: čte vše, a oprávnění basedb se na něj nevztahují. Pro nástroj BI vytvořte raději samostatnou roli s vlastními příkazy GRANT. Pokud tabulka nese pravidlo pro řádky, PostgreSQL na ni uplatňuje zabezpečení na úrovni řádků: taková role v ní nevidí žádný řádek bez atributu BYPASSRLS nebo vlastní politiky.

Je povolen. Omezení (jednoduché výběry, vazby, URL, povinná pole) hlídá PostgreSQL a odmítne neplatnou hodnotu stejně jako rozhraní. A zápis se zaznamená do historie: historie ho zobrazí jako „Přímá relace SQL“ s relací, která ho provedla, a lze ho vrátit stejně jako ostatní.

basedb je svobodný software od Eodia, softwarového studia stavějícího na AI.