Supabase любят за то, что он закрывает бэкенд целиком: база PostgreSQL, REST к таблицам, вход пользователей, файлы и обновления в реальном времени — без своего сервера. Из России с ним сложнее: Supabase Cloud оплачивается иностранной картой в долларах, а данные лежат за рубежом. Можно поднять Supabase самому через docker compose, но это больше десятка контейнеров, а обновления, бэкапы, почта и HTTPS остаются на вас.

Третий вариант — Supabase в Татнет: тот же Supabase со Studio, который создаётся кнопкой в панели и оплачивается в рублях. Первая база бесплатная.

Эта статья — не про то, как создать таблицу, а про то, что будет дальше: какие пределы у бесплатной базы, что увидят пользователи, когда приложение в них упрётся, и в какой момент пора включать Pro.

Схема: что происходит на пределах Free — база и трафик переводят базу в «только чтение», лишние запросы получают 429, файлы сверх предела не загружаются, после 7 дней простоя — пауза

Что такое Supabase в Татнет

Это PostgreSQL и вокруг него готовые сервисы: REST-доступ к таблицам, вход пользователей (Auth), хранилище файлов (Storage), Realtime и веб-интерфейс Studio. Приложение работает с ними через обычный клиент Supabase — тот же supabase-js, что и с Supabase Cloud:

import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  'https://<ref>.supa.tatnet.cloud', // URL API из карточки базы
  '<anon-ключ>'                       // Studio → Project Settings → API
)

При переезде с Supabase Cloud в коде меняются только адрес и ключ. Ключ anon публичный и живёт в браузере — что можно читать и писать, решают политики RLS в самой базе. Ключ service_role обходит все политики, его место — только на сервере.

Две вещи, которые отличают Supabase в Татнет от облачного:

  • Нет прямого подключения postgres://. Доступ к данным — через REST, Auth, Storage, Realtime и Studio. Если нужна строка подключения для psql или ORM, это задача для Managed PostgreSQL, о нём ниже.
  • Нет pg_cron и pg_net. Вместо них — схема cron с той же функцией cron.schedule и cron.invoke_function для вызова Edge Functions. Одна задача работает до 60 секунд.

База — ресурс аккаунта, а не проекта: она живёт в разделе «Supabase» панели, и к одной базе можно подключить несколько приложений.

Free и Pro: пределы

У каждой базы свой уровень, его можно переключить в карточке базы в любой момент.

FreePro
Оплатабесплатно, одна база на аккаунтпочасово за каждую базу
База данныхдо 100 МБдо 8 ГБ
Файлы (Storage)до 1 ГБдо 100 ГБ
Realtimeдо 200 соединенийдо 500 соединений
APIдо 100 запросов в секундудо 1 000 запросов в секунду
Трафикдо 5 ГБ в месяцдо 250 ГБ в месяц
Активные пользователи (ориентир)≈ 50 000 в месяц≈ 100 000 в месяц
Пауза за простойчерез 7 дней без обращенийнет
Edge Functions—есть
Свой домен для API—есть, платное дополнение

Бесплатная база на аккаунт одна. Вторая и каждая следующая — уже Pro: при создании новой базы Free просто недоступен, а над списком баз показан счётчик «Бесплатных баз: 1 из 1».

Если ваша Free-база создана до 11 сентября 2026 года, её предел — 500 МБ, а не 100. Актуальный предел показан в карточке базы.

100 МБ — это немало для старта: десятки тысяч строк заявок, заметок или товаров. Место быстро съедают другие вещи — картинки в bytea вместо Storage, логи и история в таблицах, большие JSON. Файлы лучше сразу класть в Storage: у них свой предел.

Что происходит на пределе

Главное: база не удаляется и не отключается. Каждый предел срабатывает по-своему.

База данных больше предела. База переходит в режим «только чтение». Данные целы, сайт продолжает их показывать, но запись и вход пользователей останавливаются: новая заявка не сохранится, новый пользователь не зарегистрируется. Режим снимается, когда данных снова меньше предела (удалять строки и таблицы в Studio можно и в этом режиме), или включением Pro.

Трафик за месяц больше 5 ГБ (Free). Тот же режим «только чтение» — до начала следующего месяца или до включения Pro.

Больше 100 запросов в секунду. Лишние запросы получают ответ 429. Остальные проходят как обычно. Если такое случается регулярно, стоит посмотреть, не опрашивает ли фронтенд базу в цикле — для живых обновлений есть Realtime.

Файлы больше 1 ГБ. Новая загрузка отклоняется, уже загруженные файлы доступны.

Активные пользователи — справочная цифра, их число не ограничивается.

Что это значит для приложения: проверяйте error у каждого вызова на запись, а не только у чтения, и показывайте пользователю понятное сообщение. Иначе в режиме «только чтение» форма будет молча «отправляться» в никуда.

const { error } = await supabase.from('requests').insert({ name, phone })
if (error) {
  showMessage('Не удалось отправить заявку. Попробуйте позже.')
  console.error(error)
}

Сколько места и трафика уже занято, видно в карточке базы: там счётчики базы, файлов, трафика за месяц и активных пользователей.

Пауза бесплатной базы

Free-база, к которой не обращались 7 дней, ставится на паузу. Данные и файлы сохраняются, но API отвечает 503 — приложение в это время данных не получает. Запустить базу снова можно одной кнопкой в панели или в настройках проекта T1000, запуск занимает около минуты.

Для учебного проекта, демо или прототипа это нормально. Для сайта, которым пользуются люди, минута ожидания после тихой недели — уже проблема: первая заявка после паузы не дойдёт. Pro за простой не останавливается.

Поставить на паузу вручную можно любую базу. У Pro ручная пауза останавливает и списание — удобно для стендов, которые нужны не каждый день.

Когда переходить на Pro

Включайте Pro, если выполняется хотя бы одно:

  • приложением пользуются реальные люди, и пауза после 7 дней тишины недопустима;
  • база или трафик подходят к пределам Free — лучше переключиться заранее, чем ловить «только чтение» в рабочий день;
  • нужны Edge Functions — серверный код рядом с базой на Deno — или свой домен для API;
  • нужна вторая база: бесплатная на аккаунт одна.

Переход — кнопкой «Перейти на Pro» в карточке базы, это та же база, а не новая. Для включения на балансе должна быть сумма не меньше стоимости месяца, а списывается Pro почасово, без подписки.

Обратно на Free можно в любой момент. Edge Functions, созданные на Pro, при этом приостанавливаются — код и секреты сохраняются и заработают снова, когда база вернётся на Pro. Пределы Free начинают действовать сразу: если данных больше 100 МБ, база окажется в «только чтение».

Когда Supabase не подходит

Supabase — это готовый бэкенд для приложения, которое ходит в базу напрямую из браузера или мобильного клиента. Если у вас уже есть свой бэкенд на Django, Laravel, NestJS или Go и ORM, которому нужна строка postgres://, берите Managed PostgreSQL: это обычный PostgreSQL в приватной сети, к которому приложение подключается как к любой базе.

Правило простое: своего бэкенда нет — Supabase. Есть бэкенд и ORM — Managed PostgreSQL.

Если приложение собирает T1000

T1000 создаёт базу Supabase сам, когда приложению понадобятся данные: форма заявок, каталог с админкой, личный кабинет. Это та же база с теми же пределами — её видно и в разделе «Supabase» панели, и в проекте на вкладке «Настройки» → «База данных», там же кнопка «Открыть Studio».

Что важно знать:

  • если база упрётся в предел, T1000 покажет это в чате и предложит освободить место или включить Pro;
  • следующая генерация в T1000 сама будит базу после паузы;
  • откат версии в T1000 возвращает код, но не данные и не схему: удалённые строки не восстановятся;
  • удаление проекта базу не трогает — она остаётся в аккаунте, а копия проекта получает свою пустую базу с той же структурой.

Сколько это стоит

  • Free — бесплатно, одна база на аккаунт, в счёте не появляется.
  • Pro — почасово с баланса за каждую базу, без подписки, за время жизни базы. Ручная пауза останавливает списание. В разделе «Финансы» каждая Pro-база — отдельной строкой.
  • Свой домен для API — платное дополнение на Pro.

Оплата в рублях, с закрывающими документами для юрлиц. Актуальные ставки — на странице тарифов.

Видео: Supabase в Татнет за 8 минут

В ролике — всё, что осталось за кадром статьи: создание базы, таблица и политики RLS одним запросом в SQL Editor, ключи и supabase-js, регистрация по почте, Storage, Edge Functions и расписания.

Если плеер не загрузился — смотреть в VK Видео.

Итого

  • Supabase в Татнет — тот же Supabase со Studio и supabase-js, оплата в рублях.
  • Free хватает для старта: 100 МБ, 1 ГБ файлов, 5 ГБ трафика в месяц.
  • На пределе база не отключается: «только чтение», 429 или отказ в загрузке файла.
  • Бесплатная база засыпает после 7 дней без обращений, Pro — нет.
  • Нужна строка postgres:// для ORM — это Managed PostgreSQL.

Подробности — в документации Supabase. Бесплатная база создаётся за пару минут в панели Татнет.