Перейти до вмісту

Прямий SQL

У цьому сенс існування basedb: ваші таблиці — справжні таблиці. Будь-який клієнт PostgreSQL читає їх за їхньою назвою.

Об’єктФізична назваПриклад
Базасхема b_<tenant>_<nom>b_t4z56fq_ventes
Середовище тестуваннясхема із суфіксомb_t4z56fq_ventes_recette
Таблицяїї слагіфікована назваopportunites
Полейого слагіфікована назваecheance
Зв’язок<table cible>_idclients_id
SQL-поданняйого технічна назва у схемі базиfactures_a_encaisser

Сторінка Документація API та MCP кожної бази наводить їх усі, а \d у psql показує описи (COMMENT ON).

+ на панелі вкладок або меню ⋯ бази → SQL-запит: редактор із підсвічуванням і автодоповненням, результат якого показується в тій самій сітці, що й ваші таблиці.

Збережений запит і два SQL-подання серед таблиць

  • Кожен читає тут зі своїми дозволами: рівень «Керування» має доступ до всієї бази, зокрема на запис; інші учасники пишуть SQL лише для читання, де закритої таблиці не існує, а приховане поле зникає.
  • Запит зберігається під таблицями — для себе, для всієї бази чи для груп — і, за бажанням, стає SQL-поданням: справжнім поданням PostgreSQL, розміщеним серед таблиць і доступним для читання з psql.

Усе докладно описано в Запити та SQL-подання.

З наданим docker-compose.yml PostgreSQL доступний на 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';

Цей обліковий запис — власник бази: він читає все, і дозволи basedb до нього не застосовуються. Для BI-інструмента створіть натомість окрему роль із власними GRANT. Якщо таблиця має правило рядків, PostgreSQL застосовує до неї захист на рівні рядків: така роль не бачить у ній жодного рядка без атрибута BYPASSRLS або власної політики.

Це дозволено. Обмеження (одиночний вибір, зв’язки, URL, обов’язковість) забезпечує PostgreSQL, і вони відхиляють недійсне значення так само, як в інтерфейсі. А запис потрапляє в історію: історія показує його як «Сеанс прямого SQL» разом із сеансом, що його зробив, і його можна скасувати так само, як інші.

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.