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

Backups

Чи робить Supabase резервні копії моєї бази? Залежить від тарифу.

Чи робить Supabase резервні копії вашої бази даних? На платних тарифах щодня, на безкоштовному жодної. Як дізнатися, що у вас насправді є.

Vlad Tkachenko7 хв читання

Коротко

  • Supabase таки робить резервні копії вашої бази даних, але лише на платному тарифі. На безкоштовному автоматичних копій немає взагалі.
  • Платні копії щоденні й лежать усередині вашого проєкту Supabase: вони рятують, коли ви зіпсували дані, і не рятують, коли ви втратили акаунт.
  • Варто мати і те, і те. Подивіться, на якому ви тарифі, перш ніж вважати себе захищеним.

Вам сказали не перейматися резервними копіями, бо Supabase робить їх за вас. Чи правда це для вашого застосунку, залежить від сторінки оплати, яку ви, найпевніше, жодного разу не відкривали.

Ось те, що це заспокоєння оминає: Supabase робить резервні копії вашої бази даних на платному тарифі й не робить їх на безкоштовному взагалі. Не менше копій, не коротші. Жодної. І це не рішення, яке ви свідомо ухвалили: безкоштовний тариф просто є тим місцем, з якого проєкт починається.

Чи робить Supabase резервні копії моєї бази даних?

На платному тарифі так: одна копія на день, знята автоматично, збережена всередині вашого проєкту Supabase. На безкоштовному ні. Нічого нікуди не копіюється за розкладом, і ніщо вас про це не попереджає.

Ваш тариф SupabaseАвтоматичні копіїНаскільки далеко сягають
БезкоштовнийЖоднихНемає куди повертатися
ProЩодня7 днів
TeamЩодня14 днів
EnterpriseЩодняДо 30 днів

Ці вікна є власними числами Supabase, опублікованими в їхній документації про резервні копії. Читайте їх там, а не тут, бо вони належать Supabase, і ця сторінка не помітить, коли вони зміняться.

Ваш білдер цю прогалину теж не закриває. Lovable, Bolt, v0 та інші ведуть історію вашого коду, а це інша річ, ніж ваші дані, і лежить вона в іншому місці. Історія версій не є резервною копією дає довгу відповідь на те, чому відкат не приносить із собою видалену таблицю.

Як дізнатися, на якому тарифі ви насправді

Відкрийте панель Supabase, виберіть проєкт, з яким говорить ваш застосунок, і знайдіть оплату у вашій організації. Це займає близько двох хвилин, і це єдиний спосіб знати напевно.

Дві речі роблять це менш очевидним, ніж звучить. Оплата висить на організації, а не на проєкті, тож два застосунки під одним входом можуть бути на двох різних тарифах. А панель час від часу переставляє речі: якщо цих слів немає там, де ви їх очікуєте, шукайте будь-що з назвою Billing на рівні організації.

Коли вже ви там, відкрийте Database, а тоді Backups. Список копій із датами означає, що вони у вас є. Порожня панель або напис, що функція потребує платного тарифу, дає вам відповідь на одному екрані.

У чому власні копії Supabase хороші

У багатьох речах. Вони і є тим першим, що варто мати, а не тим, що варто замінювати.

Вони працюють без вас, і саме це псується в копії, яку ви знімаєте вручну: файл на вашому ноутбуці має дату того разу, коли ви востаннє про це подумали. Вони повні, включно з вашими правилами Row Level Security, а не лише з таблицями, які ці правила захищають. А відновити одну означає кілька кліків у браузері, а не команду, яку треба ввести правильно о другій ночі.

Вони також покривають звичайний спосіб, у який дані зникають: ви прибрали їх самі. Видалення, що зачепило більше рядків, ніж ви хотіли; міграція, яку написав ШІ-агент, а ви схвалили; скрипт наповнення, спрямований не на той проєкт. Якщо це стається на платному тарифі, учорашня копія лежить просто там.

Чому копія всередині акаунта дає лише половину страхувальної сітки

Бо втратити дані можна двома різними способами, а копія, що лежить усередині акаунта, відповідає лише на один із них.

Supabase кладе запасний ключ усередині будинку. Це справді допомагає, коли ви замкнулися в одній із кімнат. І це не допомагає в день, коли ви втратили сам будинок.

Другий різновид втрати взагалі не пов'язаний із помилкою у вашій базі: картка, що сплила, поки ви були у відпустці; призупинений проєкт; вхід, який ви не можете відновити; акаунт, до якого потрапив хтось інший. Дані та їхні копії лежать за одними дверима, і саме двері зачинилися.

Це не докір Supabase. Копії платформи зберігаються разом із платформою, бо саме це робить їх відновлюваними одним кліком, і обмін чесний. Але це означає, що ліки полягають не в меншій довірі до них, а в другій копії в місці, яке не поділяє їхньої долі. Три способи зробити резервну копію бази Supabase порівнює, чого коштує кожен шлях.

Наскільки далеко сягає вікно?

Сім днів на Pro, і вікно постійно рухається: кожна нова копія виштовхує найстарішу з іншого боку.

Для помилок, які ви помічаєте одразу, цього більш ніж досить, і видалення зазвичай оголошує про себе за лічені хвилини. Проблема полягає в тихому різновиді. Стовпець, що зник під час міграції, яку ніхто уважно не читав. Скрипт, що перезаписав одне поле в кожному рядку. Форма, що зберігає неправильне значення з вівторка. Таке спливає, коли пише клієнт, а клієнт, який пише, може бути за два тижні після зміни.

Вікно рухається разом із сьогоднішнім днем. Проблема, знайдена всередині нього, має копію напоготові; та сама проблема, знайдена тижнем пізніше, не має за собою нічого.

Річ не в тім, що сім днів – це скупо. Річ у тім, що довжина вашого вікна є одним числом, а те, скільки помилка могла б лишатися непоміченою у вашому застосунку, є іншим, і їх варто покласти поруч раніше, ніж вам знадобиться, щоб вони зійшлися.

Чи хтось перевіряв цю копію?

Якщо ні, то резервної копії у вас поки що немає. У вас є файл, а який саме, ви дізнаєтеся того дня, коли його відкриєте.

Копія, що три тижні тому тихо перестала працювати, є найгіршим різновидом, бо вона відчувається точно як захист аж до моменту, коли ви її відкриваєте. Дамп, записаний, поки міграція була застосована наполовину, або обрізаний, коли обірвалося з'єднання, ззовні виглядає так само, як добрий.

Обидві смуги дали файл. Лише одна дала файл, який хтось прочитав назад.

Щоб це виправити, купувати нічого не треба. Відновіть одну зі своїх копій у тимчасовий проєкт Supabase, відкрийте застосунок проти нього й переконайтеся, що рядок, який ви впізнаєте, на місці. Пів години, раз на квартал, і ви дізнаєтеся про це у вівторок по обіді, а не посеред збою.

Це також причина, чому Reeve Care показує вам дату останньої копії, яка пройшла перевірку, а не дату останньої спроби, і тримає ці копії поза вашим акаунтом Supabase. Він копіює вашу базу даних, а також завантажені вашими користувачами файли, щойно ви їх під’єднаєте.

Що зробити цього тижня

Що робити

  • Знайдіть назву тарифу на своїй сторінці оплати Supabase. Цей один факт вирішує, чи є у вас взагалі автоматична копія, і все решта тут залежить від нього.
  • Якщо ви на безкоштовному тарифі, або перейдіть на платний, або зніміть копію самі сьогодні. Стара копія краща за жодну.
  • Тримайте копію поза акаунтом Supabase, бо копія всередині нього не переживе втрати самого акаунта.
  • Порівняйте, наскільки далеко сягає ваше вікно, з тим, скільки тиха помилка могла б лишатися непоміченою у вашому застосунку. Якщо друге число більше, змінювати треба вікно.
  • Відновіть одну копію в тимчасовий проєкт, щоб перше читання того файлу не припало на день, коли він потрібен.

Перш ніж закрити цю вкладку, відкрийте панель Supabase і знайдіть назву тарифу. Жодне з рішень вище неможливо ухвалити, поки ви цього не знаєте. 10-хвилинний чеклист безпеки охоплює резервні копії разом з рештою того, що варто підтвердити у щойно запущеному застосунку, а посібник із безпеки Supabase проходить по тому, що ще зазвичай лишається відкритим.

Що Reeve Care додає понад це

Другу копію, яка не лежить у вашому акаунті Supabase, перевірену після кожного запуску, і відновлення, яке можна натиснути, не затамувавши подих.

Сенс порівняння нижче не в тому, що Supabase робить щось не так. А в тому, що копія платформи та незалежна копія відповідають на різні питання, і ви маєте право мати обидві.

Власні копії SupabaseReeve Care
Працює без васТакТак
Де лежить копіяУсередині вашого акаунта SupabaseПоза ним, зашифрована, у сховищі, яке тримаємо ми
Переживає втрату акаунтаНіТак
Перевірена, перш ніж зарахуватисяНіТак, і ви бачите дату останньої копії, що пройшла перевірку
Наскільки далеко сягаєВікно, яке включає ваш тарифБільше точок відновлення й більше копій на день, залежно від тарифу
ВідновленняВи обираєте копію в консоліОдна кнопка, і спершу ми зберігаємо поточний стан, тож навіть відновлення має скасування
Завантажені файлиНе входятьВходять, щойно ви під’єднаєте свої бакети Storage
Якщо ви не впевненіЧерга підтримки платформиЛюдина, у якої можна спитати

Одне обмеження й один вибір, сказані прямо, бо резервна копія, яку ви зрозуміли неправильно, гірша за ту, про відсутність якої ви знаєте. Копії сьогодні є лише для Supabase; якщо ваші дані живуть деінде, ми скажемо це до оплати, а не після. А файли, завантажені вашими користувачами, копіюються теж, щойно ви під’єднаєте свої бакети Storage. Для цього потрібен другий ключ, і це ваш вибір, бо ключ, який Supabase видає для Storage, уміє записувати, і ми краще спитаємо, ніж припустимо.

Хай там як, лишіть копії Supabase увімкненими. Дві копії у двох місцях і є вся ідея, а дешевша з двох уже входить у ваш тариф.

І копіями воно теж не вичерпується: Care стежить, чи не впав ваш застосунок, повторює перевірку безпеки за розкладом і надсилає місячний звіт, написаний для того, хто не читає логів. Що включає кожен тариф і як часто він копіює, дивіться в таблиці тарифів Care.

Як копія створюється, перевіряється й повертається на місце, крок за кроком показано на сторінці резервних копій Supabase.

Поширені запитання

Як дізнатися, на якому тарифі Supabase я перебуваю?

Відкрийте панель Supabase, виберіть проєкт, яким користується ваш застосунок, і знайдіть Billing у вашій організації. Оплата прив'язана до організації, а не до проєкту, тож два проєкти під одним входом можуть бути на різних тарифах. Безкоштовний тариф стоїть за замовчуванням, і він ніколи не просить картку: якщо ви ніколи не відкривали ту сторінку й не вводили дані картки, ваш проєкт саме там.

Скільки Supabase зберігає свої резервні копії?

Сім днів на Pro, чотирнадцять на Team і до тридцяти на Enterprise, за власною документацією Supabase про резервні копії. Відновлення на момент часу є платною опцією, яка дає відмотати до конкретної хвилини всередині цього вікна, а не до нічної копії. Читайте ці числа в їхній документації, а не на цій сторінці, бо вони належать Supabase і можуть змінитися.

Мій проєкт зупинили. Чи зникли мої копії?

Зупинений проєкт ще не видалений. Supabase зупиняє безкоштовні проєкти приблизно після тижня низької активності, і ви повертаєте їх із панелі. Чого у вас немає на безкоштовному тарифі, так це копії, на яку можна спертися, якщо далі щось піде не так: на цьому тарифі її ніколи й не робили.

Я на тарифі Pro. Чи потрібна мені ще одна копія?

Залежить від того, від якого лиха ви страхуєтеся. Щоденні копії покривають звичайне: ви або ШІ-агент зіпсували власні дані й хочете повернути вчорашній день. Втрату доступу до акаунта вони не покривають, бо лежать усередині нього. Якщо у вашому застосунку є справжні клієнти, друга копія в місці, яке контролюєте ви, і є дешевою половиною цієї відповіді.

Автор

Vlad Tkachenko

Засновник Reeve

Я щодня дивлюся на застосунки, зібрані в Lovable, Bolt, v0, Cursor і Replit, і на короткий список помилок, які трапляються в них знову і знову.

Більше про автора

Читати далі

Не впевнені, як справи у вашому застосунку?

Запустіть безкоштовне сканування й отримайте зрозумілу оцінку від A до F приблизно за 20 секунд. Без облікового запису й без картки.

Сканувати безкоштовно

Автоматична зовнішня перевірка, а не повний аудит. Відсутність знахідок не є гарантією безпеки.