跳转到内容

直接使用 SQL

这正是 basedb 存在的意义:您的数据表就是真正的数据表。任何 PostgreSQL 客户端都可以按名称读取它们。

对象物理名称示例
数据库模式(schema)b_<tenant>_<nom>b_t4z56fq_ventes
预发布环境加上后缀的模式b_t4z56fq_ventes_recette
数据表slug 化后的名称opportunites
字段slug 化后的名称echeance
关联<table cible>_idclients_id
SQL 视图其技术名称,位于数据库的模式中factures_a_encaisser

每个数据库的 API 与 MCP 文档页面会列出所有名称,psql 中的 \d 会显示描述(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 属性或专属的策略,就看不到任何行。

这是允许的。约束(单选、关联、链接、必填)由 PostgreSQL 维护,会像在界面中一样拒绝无效值。而且写入会记入历史:历史记录将其显示为“直接 SQL 会话”,并附上执行它的会话;它也可以像其他写入一样被撤销。

basedb 是 AI 原生软件工作室 Eodia 出品的自由软件。