0Pricing
Supabase Backend as a Service · Урок

Функции базы данных и триггеры

Инкапсулируйте логику в функциях Postgres и автоматизируйте реакцию на изменения данных с помощью триггеров — все эти функции можно вызывать из Supabase.

«Функции базы данных и триггеры» — бесплатный урок Supabase Backend as a Service на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Supabase Backend as a Service, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Supabase Backend as a Service содержит 3 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Logic Inside the Database

Postgres lets you store reusable logic as functions and run code automatically on data changes with triggers. This keeps critical rules close to the data.

What Is a Database Function?

A function is named, reusable SQL or PL/pgSQL that returns a value. You can call it from queries or from the Supabase client via RPC.

Writing a Simple Function

This function returns the count of active users.

create or replace function active_user_count()
returns integer
language sql
as 'select count(*)::int from users where active';

Calling It from Supabase

Use rpc to invoke a database function from the client.

const { data, error } = await supabase
  .rpc('active_user_count');
console.log(data);

Functions With Parameters

Functions can accept arguments, enabling parameterized server-side logic.

create or replace function posts_by(author_id bigint)
returns setof posts
language sql
as 'select * from posts where user_id = author_id';

What Is a Trigger?

A trigger runs a function automatically BEFORE or AFTER an INSERT, UPDATE, or DELETE on a table.

A Trigger Function

Trigger functions return trigger and access the new row via NEW.

create or replace function set_updated_at()
returns trigger
language plpgsql
as 'begin new.updated_at = now(); return new; end;';

Attaching the Trigger

Bind the function to a table and event.

create trigger touch_updated
before update on posts
for each row
execute function set_updated_at();

Common Use Cases

Triggers shine for:

  • Auto-setting timestamps
  • Maintaining denormalized counts
  • Writing audit log rows
  • Creating a profile row when a user signs up

Keep Triggers Lightweight

Triggers run inside the transaction, so heavy work slows every write. Offload long tasks to Edge Functions or queues instead.

function isLightweight(ms) { return ms < 10; }
console.log(isLightweight(4));

Putting It Together

Use functions for reusable, callable logic and triggers for automatic reactions to changes, while keeping trigger work small and fast.

Quick Check

Test your understanding of functions and triggers.

Recap

You learned to write callable database functions, invoke them with rpc, and automate logic with triggers using NEW, while keeping trigger work lightweight.

Часто задаваемые вопросы

Урок «Функции базы данных и триггеры» бесплатный?

Да — полный текст урока «Функции базы данных и триггеры» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Supabase Backend as a Service, подпишись на CoddyKit PRO. Курс Supabase Backend as a Service содержит 3 уроков всего.

Чему я научусь в уроке «Функции базы данных и триггеры»?

Инкапсулируйте логику в функциях Postgres и автоматизируйте реакцию на изменения данных с помощью триггеров — все эти функции можно вызывать из Supabase. Ты практикуешь Supabase Backend as a Service с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Supabase Backend as a Service?

Предыдущий опыт не требуется. Supabase Backend as a Service на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.

Сколько времени занимает урок «Функции базы данных и триггеры»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Supabase Backend as a Service?

Да. Каждый урок Supabase Backend as a Service включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Расширенные SQL-запросы и объединения
  2. Индексация базы данных для повышения производительности
  3. Функции базы данных и триггеры
← Назад к Supabase Backend as a Service