Salta ai contenuti

SQL diretto

È la ragion d’essere di basedb: le tue tabelle sono vere tabelle. Qualsiasi client PostgreSQL le legge con il loro nome.

OggettoNome fisicoEsempio
Databaseuno schema b_<tenant>_<nom>b_t4z56fq_ventes
Ambiente di collaudolo schema con un suffissob_t4z56fq_ventes_recette
Tabellail suo nome slugificatoopportunites
Campoil suo nome slugificatoecheance
Relazione<table cible>_idclients_id
Vista SQLil suo nome tecnico, nello schema del databasefactures_a_encaisser

La pagina Documentazione API e MCP di ogni database li indica tutti, e \d in psql mostra le descrizioni (COMMENT ON).

Il + della barra delle tab, oppure menu ⋯ del database → Query SQL: un editor con evidenziazione della sintassi e completamento, il cui risultato compare nella stessa griglia delle tue tabelle.

Una query salvata, e due viste SQL disposte tra le tabelle

  • Ognuno vi legge con i propri permessi: il livello Gestione ha tutto il database, scritture comprese; gli altri membri scrivono SQL in sola lettura, dove una tabella preclusa non esiste e un campo nascosto scompare.
  • Una query si salva sotto le tabelle — per sé, per tutto il database o per alcuni gruppi —, e diventa, se lo si desidera, una vista SQL: una vera vista PostgreSQL, disposta tra le tabelle e leggibile da psql.

Tutto è descritto in dettaglio in Query e viste SQL.

Con il docker-compose.yml fornito, PostgreSQL è pubblicato su 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';

Questo account è il proprietario del database: legge tutto, e i permessi di basedb non gli si applicano. Per uno strumento di BI, crea invece un ruolo separato con i suoi propri GRANT. Se una tabella porta una regola di righe, PostgreSQL vi applica la sicurezza per riga: un ruolo di questo tipo non vede alcuna riga senza l’attributo BYPASSRLS o una propria policy.

È consentito. I vincoli (selezioni singole, relazioni, URL, obbligatorietà) sono garantiti da PostgreSQL e rifiutano un valore non valido, come nell’interfaccia. E la scrittura viene registrata nella cronologia: la cronologia la mostra come «Sessione SQL diretta», con la sessione che l’ha eseguita, e si annulla come le altre.

basedb è un software libero di Eodia, studio di software AI-native.