සුපිරි පින්තූරයක්.I love the base. නමුත් මම ගෙවන සැලැස්ම පිටුපස සිටින "බැක්කොප්ස්" දැක ඇති මොහොතේ, මගේ මොළය සෑම බිඳ වැටුණු නිර්මාණකරුවෙකුගේ මොළය කරන දේ කළා: “I can build that.” සහ ඔව්, ඔබට පුළුවන්. නිදහස් සැලැස්ම මත. සැබෑ ස්වයංක්රියාකාරීත්වය සමඟ. සේවාදායකයක් නොමැතිව. උදෑසන 2 ට නැගිටීමකින් තොරව මතක තබා ගන්න "ඔව් ඔව්, මම මගේ දත්ත පදනම ඉවත් කළ යුතුය." මේ ලිපිය පෙන්වන්නේ මම කොහොමද හදන්නේ කියලා. භාවිතය , ඔබ බොහෝ විට ප්රතික්ෂේප කළ හැකි පුංචි වැරදි වලට අමතරව (ඔබට එය කළ යුතු නැත). automatic Supabase Postgres backups every 12 hours GitHub Actions අපි හදන දේ එක පාරක් හදපු එකක් තමයි: සෑම පැය 12 කින් ඔබගේ Supabase Postgres දත්ත දත්ත සබඳතා .dump පිටුපසින් ගොනුවක් නිර්මාණය කරයි (කැපෙන, නිවැරදි ආකෘතිය) එය පෞද්ගලික GitHub repo හි versioned ගොනු ලෙස ගබඩා කරයි කිසිදු ගෙවන Supabase සැලැස්ම. කිසිදු තුන්වන පාර්ශව සේවා. කිසිදු VPS. හුදෙක් GitHub කම්මැලි වැඩ කරනවා. ඔබ තේරුම් ගත යුතු එකම දේ Database Backup එක හරියට Umbrella එකක් වගේ. වැස්ස පටන් ගන්නට ඔබ බලා සිටියහොත්, ඔබ දැනටමත් මුහුදු වේ. එසේම, "මම එය නැවත නිර්මාණය කරන්නම්" ඔබ එය නැවත නිර්මාණය නොකළ විට ඔබට පවසන බොරුවක් වන අතර, Supabase නොමිලේ සැලැස්ම මූලික වශයෙන් කළු වහලක් වන අතර, ඔබ හැක් කරන විට, පසුබිම් කිරීමට ඉතිහාසයක් නැත. පියවර 0: පෞද්ගලික Repo නිර්මාණය කිරීම නිර්මාණය A GitHub repository කියන්නේ: private myapp-db-බක්කොප් Backup සහාය notpayingforshiii-db-backups (ඔබ මා නම්) මෙම repo ඔබගේ backup ගොනු ගබඩා කරනු ඇත. GitHub Repo Backups සඳහා විශේෂාංග පියවර 1: නිවැරදි Supabase සම්බන්ධතා string ලබා ගන්න (මෙය කොටස වැදගත්) ඔබේ Supabase ව් යාපෘතිය වෙත යන්න: නුඹ Settings → Database → Connection string මෙන්න මේ පිපාසය: Session Pooler භාවිතය (ඔබ සෘජු නොවේ) ඔබ නොමිලේ සැලැස්ම මත නම්, Supabase බොහෝ විට පෙන්වයි: සෘජු සම්බන්ධතාවය: IPv4 අනුකූල නොවේ Session Pooler: IPv4 අනුකූල GitHub Runner සාමාන්යයෙන් IPv4 වේ.ඔබ Direct භාවිතා කරන්නේ නම්, ඔබගේ වැඩපිළිවෙළ අසාර්ථක වනු ඇත සහ ඔබ හිතන්නේ විශ්වය ඔබට වෛර කරයි. සයිට් : ක් රමය: Session Pooler වර්ගය : URI ඔබට එවැනි සම්බන්ධතා string එකක් ලැබෙනු ඇත: postgresql://postgres.<your-project-ref>:YOUR_PASSWORD@aws-1-<region>.pooler.supabase.com:5432/postgres වැදගත් : ඔබේ Supabase මුරපදය සමඟ [YOUR-PASSWORD] ස්ථාන තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැල් තැපැ පියවර 2: GitHub රහස් ලෙස සම්බන්ධතා සංකේතය එකතු කරන්න ඔබේ GitHub Repo: Settings → Secrets and variables → Actions → New repository secret රහසක් හදා ගන්න : නාම යෝජනා: SUPABASE_DB_URL වටිනාකම: සම්පූර්ණ Session Pooler සම්බන්ධතා සංකේතය ඇතුළත් කරන්න අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් අළුත් ඔබේ රහස පෙන්වන්න පියවර 3: GitHub ක්රියාවන් වැඩපිළිවෙළ ගොනුව එකතු කරන්න ඔබේ Repo වලදී, මෙම ගොනුව නිර්මාණය කරන්න: .github/workflows/backup.yml GitHub විසින් ස්වයංක්රීයව ගොනු නිර්මාණය කරනු ඇත. දැන් මෙම සම්පූර්ණ වැඩ ක්රියාවලිය ඇතුළත් කරන්න: name: Supabase Backupon: schedule: - cron: "0 */12 * * *" workflow_dispatch:jobs: backup: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Install matching PostgreSQL client env: DATABASE_URL: ${{ secrets.SUPABASE_DB_URL }} run: | sudo apt-get update sudo apt-get install -y wget ca-certificates lsb-release postgresql-client SERVER_VERSION=$(psql "$DATABASE_URL" -tAc "SHOW server_version_num;" | cut -c1-2) echo "SERVER_VERSION=$SERVER_VERSION" >> $GITHUB_ENV wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list sudo apt-get update sudo apt-get install -y postgresql-client-$SERVER_VERSION - name: Run pg_dump env: DATABASE_URL: ${{ secrets.SUPABASE_DB_URL }} run: | mkdir -p backups /usr/lib/postgresql/$SERVER_VERSION/bin/pg_dump "$DATABASE_URL" \ --format=custom \ --file=backups/supabase_$(date +%F_%H-%M).dump - name: Commit backup run: | git config user.name "supabase-backup-bot" git config user.email "backup@github.com" git add backups git commit -m "Automated Supabase backup" || echo "No changes" git pushWhat this does: Supabase DB Postgres පරිවර්තනය ගැලපෙන pg_dump ස්ථාපනය කිරීම .dump ගොනුව නිර්මාණය කිරීම ඔබගේ Repo වෙත එය කැඳවා ගන්න මේ version එක : Supabase පසුව Postgres යාවත්කාලීන කරන්නේ නම්, රැකියාව ක්රියාවලිය අනුකූල වේ. future-proof පියවර 4: GitHub ක්රියා කිරීමට අවසර ලබා දෙන්න කරන්න මේ , backup උත්සාහ කරන විට අසාර්ථක වනු ඇත නිසා ආපහු ඔබේ Repo වෙත. before you run the workflow save (commit + push) the database dump මෙන්න කොහොමද එය ඉඩ දෙන්නේ: Repo → Settings → Actions → General → Workflow බලපත්ර තෝරන්න: ✅ කියවීම හා ලිවීමේ බලපත්ර ක්ලික් . Save පියවර 5: එය එක් වරක් අතින් ක්රියාත්මක කරන්න දැන්, ඔබ පහසුවෙන් විවේක ගැනීමට පෙර එය ක්රියා කරන බව තහවුරු කිරීමට එය පරීක්ෂා කරන්න. ඔබගේ Repo වෙත යන්න: Actions → Supabase Backup → Run workflow සාර්ථක වුනොත් : ඔබට අලුත් ගොනුවක් පෙනෙනු ඇත: Backups/ උදාහරණයක් ලෙස: supabase_2026-01-24_00-15.dump ගබඩා කට්ටයන් ගැන මොකද කියන්නේ? මේ backup එක ඔබේ . Postgres database එය ඇතුළත් නොවේ: Supabase Storage ගොනු (පින්තූර, වීඩියෝ, upload) Edge Function කේතය ලෝග ඔබ Storage backups අවශ්ය නම්, ඔබ වෙන්ඩ ක්රියාවලිය අවශ්ය වනු ඇත (S3 අනුකූල ස්කයිප් කිරීම හෝ ස්කයිප්රය - මේ සියල්ල කිරීමට මෙම පුළුල් කළ හැකි, නමුත් මට මගේ අවස්ථාවල දත්ත පදනම අවශ්ය විය). ප්රසාද: ඔබේ Repo සදාකාලිකව වර්ධනය නොකරන්න (ඔබට අවශ්ය) ඔබ අතුරුදහන් backups එකතු කිරීමට අවශ්ය නොවේ නම්, ඔබ ස්වයංක්රීයව පැරණි ගොනු ඉවත් කළ හැකිය (උදාහරණයක් ලෙස, පසුගිය 30 තබා ගන්න). අවසාන අදහස් ඔබ වැඩිහිටියන් backups ලබා ගැනීමට ගෙවන සැලැස්මක් අවශ්ය නොවේ. ඔබට අවශ් ය වන්නේ: GitHub ප්රතිචාරය එක රහසක් 1 වැඩසටහන 1 අවසරය Toggle දැන් ඔබ නිදාගෙන, නැව්ගත කරන අතර, ඔබ නිෂ්පාදනය සඳහා වගකිව යුතු නොවන බව පෙන්නුම් කරන අතර, ඔබේ දත්ත දත්ත සෑම පැය 12කට වරක් backups ඇත. ඔබ මෙය ප්රයෝජනවත් බව සොයා තිබේ නම්, එය හොරකම් නොකරන්න.