Supabase
Таблицы, поиск и хранилище Supabase в процессах Pailot
Supabase — облачный бэкенд на PostgreSQL: таблицы, хранилище файлов и функции. Блок ходит в API (Application Programming Interface — программный интерфейс) проекта.
С Supabase в Pailot вы можете:
- Читать, вставлять, обновлять, удалять и делать upsert (вставка или обновление) строк
- Фильтровать через синтаксис PostgREST (
id=eq.123)
- Считать строки, искать по тексту и искать похожие векторы (pgvector)
- Вызывать функции PostgreSQL (RPC — Remote Procedure Call, удалённый вызов)
- Смотреть схему таблиц и работать с бакетами хранилища: загрузка, скачивание, публичные и подписанные URL
Нужны Project ID и секрет роли service role. Не подставляйте anon-ключ: у service role полный доступ к данным.
Блок ставят на холст как отдельный шаг или прикрепляют к агенту. Секрет — в переменных окружения рабочего пространства.
Выборка строк из таблицы.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
select | string | Нет | Столбцы через запятую. По умолчанию * (все) |
filter | string | Нет | Фильтр PostgREST (например id=eq.123) |
orderBy | string | Нет | Столбец сортировки (добавьте DESC для убывания) |
limit | number | Нет | Максимум строк |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Найденные записи |
Вставка строк в таблицу.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
data | array | Да | Данные: массив объектов или один объект |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Вставленные записи |
Одна строка по фильтру.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
select | string | Нет | Столбцы через запятую. По умолчанию * (все) |
filter | string | Да | Фильтр PostgREST для нужной строки (например id=eq.123) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Массив с найденной строкой или пустой, если нет совпадения |
Обновление строк по фильтру.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
filter | string | Да | Фильтр PostgREST: какие строки обновлять (например id=eq.123) |
data | object | Да | Новые значения для совпавших строк |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Обновлённые записи |
Удаление строк по фильтру.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
filter | string | Да | Фильтр PostgREST: какие строки удалять (например id=eq.123) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Удалённые записи |
Вставка или обновление (upsert).
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
data | array | Да | Данные для upsert: массив объектов или один объект |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Записи после upsert |
Число строк в таблице.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
filter | string | Нет | Фильтр PostgREST (например status=eq.active) |
countType | string | Нет | Тип подсчёта: exact, planned или estimated (по умолчанию exact) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
count | number | Число строк, подходящих под фильтр |
Полнотекстовый поиск по столбцу.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
table | string | Да | Имя таблицы |
schema | string | Нет | Схема БД (по умолчанию public). Нужна для таблиц в других схемах |
column | string | Да | Столбец для поиска |
query | string | Да | Поисковый запрос |
searchType | string | Нет | Тип: plain, phrase или websearch (по умолчанию websearch) |
language | string | Нет | Язык конфигурации полнотекстового поиска (по умолчанию english) |
limit | number | Нет | Максимум строк |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Записи, подходящие под запрос |
Поиск похожих векторов через pgvector.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
functionName | string | Да | Имя функции PostgreSQL для векторного поиска (например match_documents) |
queryEmbedding | array | Да | Вектор запроса (embedding) |
matchThreshold | number | Нет | Минимальный порог сходства (0–1), обычно 0.7–0.9 |
matchCount | number | Нет | Максимум результатов (по умолчанию 10) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Записи с оценкой сходства. У каждой есть поле similarity (0–1) относительно вектора запроса |
Вызов функции PostgreSQL в Supabase.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
functionName | string | Да | Имя функции PostgreSQL |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | json | Результат функции |
Схема БД: таблицы, столбцы и связи.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
schema | string | Нет | Схема для разбора (по умолчанию все пользовательские, чаще public) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
tables | array | Схемы таблиц: столбцы, ключи и индексы |
↳ name | string | Имя таблицы |
↳ schema | string | Имя схемы БД |
↳ columns | array | Определения столбцов |
↳ primaryKey | array | Имена столбцов первичного ключа |
↳ foreignKeys | array | Внешние ключи |
↳ indexes | array | Индексы |
schemas | array | Найденные схемы |
Загрузка файла в бакет хранилища.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
fileName | string | Да | Имя файла (например document.pdf, image.jpg) |
path | string | Нет | Путь папки (например folder/subfolder/) |
fileContent | string | Да | Содержимое: base64 для двоичных файлов или обычный текст |
contentType | string | Нет | MIME-тип (например image/jpeg, text/plain) |
upsert | boolean | Нет | Если true — перезаписать существующий файл (по умолчанию false) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | object | Результат загрузки: путь и метаданные |
Скачивание файла из бакета.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
path | string | Да | Путь к файлу (например folder/file.jpg) |
fileName | string | Нет | Подменить имя скачанного файла |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
file | file | Скачанный файл в файлах выполнения |
Список файлов в бакете.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
path | string | Нет | Папка для списка (по умолчанию корень) |
limit | number | Нет | Максимум файлов (по умолчанию 100) |
offset | number | Нет | Сколько файлов пропустить (постраничный вывод) |
sortBy | string | Нет | Сортировка: name, created_at, updated_at (по умолчанию name) |
sortOrder | string | Нет | Порядок: asc или desc (по умолчанию asc) |
search | string | Нет | Фильтр по имени файла |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Файлы с метаданными |
Удаление файлов из бакета.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
paths | array | Да | Пути файлов для удаления (например ["folder/file1.jpg", "folder/file2.jpg"]) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Удалённые файлы |
Перемещение файла внутри бакета.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
fromPath | string | Да | Текущий путь (например folder/old.jpg) |
toPath | string | Да | Новый путь (например newfolder/new.jpg) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | object | Результат перемещения |
Копирование файла внутри бакета.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
fromPath | string | Да | Путь исходного файла (например folder/source.jpg) |
toPath | string | Да | Путь копии (например folder/copy.jpg) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | object | Результат копирования |
Создание бакета хранилища.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя нового бакета |
isPublic | boolean | Нет | Публичный доступ (по умолчанию false) |
fileSizeLimit | number | Нет | Максимальный размер файла в байтах |
allowedMimeTypes | array | Нет | Разрешённые MIME-типы (например ["image/png", "image/jpeg"]) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | object | Данные созданного бакета |
Список бакетов хранилища.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | array | Список бакетов |
Удаление бакета хранилища.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
results | object | Результат удаления |
Публичный URL файла в бакете.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
path | string | Да | Путь к файлу (например folder/file.jpg) |
download | boolean | Нет | Если true — принудительное скачивание, а не просмотр (по умолчанию false) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
publicUrl | string | Публичный URL файла |
Временный подписанный URL файла.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта Supabase (например jdrkgepadsdopsntdlom) |
bucket | string | Да | Имя бакета |
path | string | Да | Путь к файлу (например folder/file.jpg) |
expiresIn | number | Да | Срок жизни URL в секундах (например 3600 — один час) |
download | boolean | Нет | Если true — принудительное скачивание, а не просмотр (по умолчанию false) |
apiKey | string | Да | Секрет service role |
| Параметр | Тип | Описание |
|---|
message | string | Статус операции |
signedUrl | string | Временный подписанный URL файла |