mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
fix(docs): add missing db ids to troubleshooting articles (#42742)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated troubleshooting resources with significantly expanded guides covering authentication, database management, edge functions, storage operations, deployment scenarios, and system configuration. Enhanced documentation includes detailed remediation procedures, alternative solutions for common issues, and comprehensive step-by-step instructions to help users resolve configuration and operational challenges. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
1 parent
160deceff5
commit
bb7d4cf8de
36 files changed
+41
-4
No files matched your search
+1
@@ -2,6 +2,7 @@
|
||||
title = "App Store Rejection: 'TLS error' in IPv6-only environments"
|
||||
topics = [ "platform" ]
|
||||
keywords = []
|
||||
database_id = "ce8c04e4-d493-4e15-832a-e59bdcf2b093"
|
||||
---
|
||||
|
||||
If your App Store submission is rejected with a 'TLS error' when tested in an IPv6-only environment, often citing a lack of AAAA records, it typically indicates application-level issues rather than a Supabase configuration problem.
|
||||
|
||||
+2
-1
@@ -2,10 +2,11 @@
|
||||
title = "Auth Hooks: 'Invalid payload' when anonymous users attempt phone changes"
|
||||
topics = [ "auth", "cli" ]
|
||||
keywords = []
|
||||
database_id = "c1de4561-e95f-41e3-b298-fac9ae331a54"
|
||||
|
||||
[[errors]]
|
||||
http_status_code = 500
|
||||
message = "Invalid payload sent to hook"
|
||||
|
||||
---
|
||||
|
||||
An 'Invalid payload sent to hook' error (500) occurs in Auth hooks when the payload includes `new_phone` for an anonymous user.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "Autovacuum Stalled Due to Inactive Replication Slot"
|
||||
topics = [ "database" ]
|
||||
keywords = []
|
||||
database_id = "a931b8af-3210-4188-bb03-87452923a498"
|
||||
---
|
||||
|
||||
If you observe that `supabase inspect db vacuum-stats` reports "Expect autovacuum? yes" for your tables, but autovacuum activity has been inactive for an extended period, leading to increasing database RAM usage, this typically indicates a stalled autovacuum process. One of the reasons for autovacuum to get stalled is an inactive replication slot for which this guide talks about.
|
||||
|
||||
+2
@@ -2,6 +2,8 @@
|
||||
title = "'Cloudflare Origin Error 1016' on Custom Domain"
|
||||
topics = [ "platform" ]
|
||||
keywords = []
|
||||
database_id = "a60ee728-3add-438d-b8bf-433f1746cb3e"
|
||||
|
||||
[[errors]]
|
||||
code = "1016"
|
||||
message = "Cloudflare Origin Error"
|
||||
|
||||
@@ -4,6 +4,7 @@ github_url = "https://github.com/orgs/supabase/discussions/16703"
|
||||
date_created = "2023-08-22T13:17:50+00:00"
|
||||
topics = ["database"]
|
||||
keywords = ["rls", "deprecated", "auth", "policy"]
|
||||
database_id = "58c0cb7c-50a0-4a96-9551-bc97c28b7393"
|
||||
---
|
||||
|
||||
## The `auth.role()` function is now deprecated
|
||||
|
||||
+1
@@ -4,6 +4,7 @@ github_url = "https://github.com/orgs/supabase/discussions/16784"
|
||||
date_created = "2023-08-24T13:45:01+00:00"
|
||||
topics = ["database"]
|
||||
keywords = ["security", "function", "schema", "policy", "definer"]
|
||||
database_id = "1e02e989-fc12-4838-b304-c7d1356f6d2c"
|
||||
---
|
||||
|
||||
PostgREST supports 2 config parameters:
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Edge Function 546 error response"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "546", "error", "resource", "memory", "cpu", "event loop", "edge function" ]
|
||||
database_id = "4e6ff2e4-2abb-4fba-8233-5883b3d56fb0"
|
||||
|
||||
[[errors]]
|
||||
http_status_code = 546
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Edge Function bundle size issues"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "bundle", "size", "limit", "dependencies", "edge function", "10MB" ]
|
||||
database_id = "aaf9e673-64ae-460a-88e0-b83ea4963382"
|
||||
|
||||
[api]
|
||||
cli = ["supabase-functions-deploy"]
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Understanding Edge Function CPU limits"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "CPU", "limit", "isolate", "soft limit", "hard limit", "edge function" ]
|
||||
database_id = "1765884f-81d6-415a-a78f-7085f7b7ddbf"
|
||||
---
|
||||
|
||||
Learn how Edge Functions manage CPU resources and what happens when limits are reached.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Edge Function dependency analysis"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "dependencies", "npm", "deno", "imports", "bundle", "optimization", "edge function" ]
|
||||
database_id = "e079a9d0-419a-4e31-b7ec-1206d9012d0b"
|
||||
---
|
||||
|
||||
Optimize your Edge Function dependencies for better performance. Large or unnecessary dependencies can significantly impact bundle size, boot time, and memory usage.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Monitoring Edge Function resource usage"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "monitoring", "metrics", "CPU", "memory", "performance", "edge function" ]
|
||||
database_id = "33e8e407-951b-4f7d-b8b4-8e9085cd4d10"
|
||||
---
|
||||
|
||||
Learn how to track your Edge Function's performance and identify potential resource issues.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Edge Function shutdown reasons explained"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "shutdown", "termination", "event loop", "wall clock", "cpu time", "memory", "early drop" ]
|
||||
database_id = "109b964f-c28c-4554-b059-cd8b165c63f8"
|
||||
|
||||
[[errors]]
|
||||
http_status_code = 546
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Edge Function takes too long to respond"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "slow", "timeout", "performance", "boot", "response time", "edge function" ]
|
||||
database_id = "89b868a9-17fe-4c6d-86f6-0b04e5794678"
|
||||
---
|
||||
|
||||
Edge Functions have a 60-second execution limit. If your function is taking too long to respond, follow these steps to diagnose and optimize performance.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "Email/Password Login Disabled for Supabase Accounts Created via Vercel Marketplace"
|
||||
topics = [ "auth" ]
|
||||
keywords = [ "Vercel"]
|
||||
database_id = "f988e832-b0c3-4b30-8e20-8d5854943b32"
|
||||
---
|
||||
|
||||
If your Supabase account was initiated via the Vercel Marketplace, you will not be able to log in directly using email/password or reset your password. This is because such accounts are tightly coupled to Vercel's authentication system, restricting login to Vercel's integrated methods.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title = "Enabling the IPv4 add-on FAQ"
|
||||
topics = [ "database", "platform", "supavisor" ]
|
||||
database_id = "02f5f200-3c1c-425e-945f-b80b3fce3ec0"
|
||||
---
|
||||
|
||||
Enabling the IPv4 add-on will attach an IPv4 address to your project's compute instance, while preserving the existing IPv6 address. Both DNS records `ref.supabase.co` and `db.ref.supabase.co` will be updated to point to the IPv4 address.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "Error: 'invalid byte sequence for encoding 'UTF8': 0x00' when accessing Triggers or Webhooks"
|
||||
topics = [ "cli", "database" ]
|
||||
keywords = []
|
||||
database_id = "12128731-0af6-4c57-9aa2-66e177f0c3f4"
|
||||
---
|
||||
|
||||
If you encounter the error: `'invalid byte sequence for encoding "UTF8": 0x00'` when attempting to access your project's [Triggers](/dashboard/project/_/database/triggers) or [Webhooks](/dashboard/project/_/database/webhooks) via the dashboard, it indicates that the `standard_conforming_strings` database setting is currently `off`.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "'Error: 'Target organization is not managed by Vercel Marketplace' during project transfer'"
|
||||
topics = [ "platform" ]
|
||||
keywords = []
|
||||
database_id = "6083c9eb-b9fc-4d19-bc64-bb4b7efeecdd"
|
||||
---
|
||||
|
||||
If you encounter the error "Target organization is not managed by Vercel Marketplace (currently unsupported)" when attempting a project transfer, it indicates an attempt to move a project from a Supabase-managed organization to a Vercel Marketplace-managed organization. This transfer direction is currently not supported due to existing Vercel Marketplace API limitations.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "'Get detailed Storage metrics with the AWS CLI'"
|
||||
topics = [ "cli", "storage", "studio" ]
|
||||
keywords = []
|
||||
database_id = "2c33968e-26c0-4613-aee1-5de36d068394"
|
||||
---
|
||||
|
||||
Supabase Studio primarily lists the current objects within your buckets. You can use standard S3 tooling such as the AWS CLI to review your Supabase project's Storage usage, or perform operations on the bucket contents.
|
||||
|
||||
@@ -4,6 +4,7 @@ topics = [
|
||||
"platform"
|
||||
]
|
||||
keywords = ["cooldown", "disk resize"]
|
||||
database_id = "ab90c813-6152-4dad-86f7-937d799ca123"
|
||||
---
|
||||
|
||||
This cooldown period isn't a Supabase limitation. It's rooted in how Amazon EBS (the underlying storage instance for our databases) manages volume modifications. After modifying a volume (e.g. increasing size, changing type, or IOPS), AWS enforces a mandatory 6-hour cooldown before allowing another modification on the same volume. This is to ensure data integrity and stability of the volume under load.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Issues serving Edge Functions locally"
|
||||
topics = [ "functions", "cli" ]
|
||||
keywords = [ "local", "serve", "development", "debug", "port", "edge function" ]
|
||||
database_id = "1cff12df-7ad6-48c5-b518-5ea468b54bab"
|
||||
|
||||
[api]
|
||||
cli = ["supabase-functions-serve"]
|
||||
|
||||
@@ -3,6 +3,7 @@ title = "Keeping your 2 Free projects after upgrading to Pro"
|
||||
date_created = "2026-01-23T00:00:00+00:00"
|
||||
topics = [ "platform" ]
|
||||
keywords = [ "free tier", "pro plan", "billing", "organizations", "project transfer" ]
|
||||
database_id = "449482fb-6e21-4a25-99ee-1ce6fffbc975"
|
||||
---
|
||||
|
||||
## Can you keep your 2 free projects after upgrading to pro?
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "'Manually created databases are not visible in the Supabase Dashboard'"
|
||||
topics = [ "auth", "cli", "database", "functions", "platform", "storage" ]
|
||||
keywords = []
|
||||
database_id = "f6420e72-ea67-4825-b3f7-e722ea5c0d96"
|
||||
---
|
||||
|
||||
If you've manually created an additional database within your Supabase project, such as `example_database`, you might observe that it's accessible via external database tools but is not visible in the Supabase Dashboard. This guide explains the underlying reasons for this behavior and how Supabase is designed to handle databases.
|
||||
|
||||
+2
-1
@@ -2,6 +2,8 @@
|
||||
title = "'OTP Verification Failures: 'token has expired' or 'otp_expired' errors'"
|
||||
topics = [ "auth", "cli" ]
|
||||
keywords = []
|
||||
database_id = "25eddb73-3cca-485b-b87f-7279dd46b7a7"
|
||||
|
||||
[[errors]]
|
||||
http_status_code = 403
|
||||
message = "Forbidden"
|
||||
@@ -9,7 +11,6 @@ message = "Forbidden"
|
||||
[[errors]]
|
||||
code = "otp_expired"
|
||||
message = "OTP expired"
|
||||
|
||||
---
|
||||
|
||||
When users attempt to exchange One-Time Passwords (OTPs), they may encounter various errors indicating that the token is no longer valid. These include messages like "token has expired or is invalid," "Email link is invalid or has expired," or they might receive '403 Forbidden' HTTP responses on the verification endpoint. Authentication logs often show specific `otp_expired` error codes.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "`pg_cron launcher crashes with 'duplicate key value violates unique constraint'`"
|
||||
topics = [ "platform" ]
|
||||
keywords = []
|
||||
database_id = "c000b4ea-23e2-4e19-af54-63ccd00c4904"
|
||||
---
|
||||
|
||||
The `pg_cron` launcher process crashes approximately every minute, displaying the error `'duplicate key value violates unique constraint "job_run_details_pkey"'`.
|
||||
|
||||
+2
-1
@@ -2,6 +2,8 @@
|
||||
title = "PKCE Flow errors: 'cannot parse response' or '#ZgotmplZ' in magic link emails"
|
||||
topics = [ "auth", "cli" ]
|
||||
keywords = []
|
||||
database_id = "f9f9842b-e66c-4ea3-a45b-713895d8b7c6"
|
||||
|
||||
[[errors]]
|
||||
code = "#ZgotmplZ"
|
||||
message = "Go template sanitization of unsafe URL scheme"
|
||||
@@ -9,7 +11,6 @@ message = "Go template sanitization of unsafe URL scheme"
|
||||
[[errors]]
|
||||
code = "cannot parse response"
|
||||
message = "PKCE flow interrupted by email client or token consumed by link scanner"
|
||||
|
||||
---
|
||||
|
||||
When setting up authentication with magic links and mobile deep linking, you might encounter specific errors like `#ZgotmplZ` in your email templates or a 'cannot parse response' error during the login flow. This guide explains the underlying causes and provides a robust solution.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "PostgREST not recognizing new columns, tables, views or functions"
|
||||
topics = [ "cli", "platform", "database", "functions" ]
|
||||
keywords = []
|
||||
database_id = "c3481097-1a32-4e94-b4f6-7aeb88132a41"
|
||||
---
|
||||
|
||||
If PostgREST is returning errors by not recognizing new database columns, tables, views or functions, and logging errors similar to:
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "rclone error: 's3 protocol error: received listing v1 with IsTruncated set, no NextMarker and no Contents'"
|
||||
topics = [ "storage" ]
|
||||
keywords = []
|
||||
database_id = "0dab3e43-2ba9-4421-9af3-b97e45123069"
|
||||
---
|
||||
|
||||
When attempting to list objects from a Supabase bucket using `rclone lsf`, you might encounter the error: `'s3 protocol error: received listing v1 with IsTruncated set, no NextMarker and no Contents'`.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "Realtime: Handling Silent Disconnections in Background Applications"
|
||||
topics = [ "cli", "database", "realtime" ]
|
||||
keywords = []
|
||||
database_id = "b826b34a-f7c0-405e-a836-54c543198964"
|
||||
---
|
||||
|
||||
If your Supabase Realtime subscriptions stop receiving events after some time without any explicit error messages, you might be experiencing a silent disconnection. This guide explains why this occurs and provides robust solutions to maintain connection stability.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Running EXPLAIN ANALYZE on functions"
|
||||
topics = ["database", "functions"]
|
||||
keywords = [] # any strings (topics are automatically added so no need to duplicate)
|
||||
database_id = "1d62cace-c0f6-47a0-8690-002a797da33b"
|
||||
|
||||
[api]
|
||||
sdk = ["rpc"]
|
||||
|
||||
+2
-1
@@ -2,10 +2,11 @@
|
||||
title = "'Scan error on column confirmation_token: converting NULL to string is unsupported' during Auth login"
|
||||
topics = [ "auth" ]
|
||||
keywords = []
|
||||
database_id = "02a26b95-3029-49a1-9319-161cf1c4c21d"
|
||||
|
||||
[[errors]]
|
||||
http_status_code = 500
|
||||
message = "error finding user: sql: Scan error on column 'confirmation_token': converting NULL to string is unsupported"
|
||||
|
||||
---
|
||||
|
||||
If you encounter a HTTP 500 error during authentication with the message `error finding user: sql: Scan error on column "confirmation_token": converting NULL to string is unsupported`, this typically indicates that the GoTrue Auth service found a `NULL` value in the `auth.users.confirmation_token` column, where a non-nullable string is expected.
|
||||
|
||||
+1
@@ -4,6 +4,7 @@ topics = [ "database" ]
|
||||
keywords = [
|
||||
"Bolt"
|
||||
]
|
||||
database_id = "d64f5f5d-ef80-4423-ba24-1a79b4e69ce6"
|
||||
---
|
||||
|
||||
If your Supabase project, provisioned through Bolt's Claude Agent, isn't appearing in your Supabase dashboard, it indicates an ownership difference.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "'Supabase Storage: Inefficient folder operations and hierarchical RLS challenges'"
|
||||
topics = [ "functions", "storage" ]
|
||||
keywords = []
|
||||
database_id = "3b52daf2-d78d-4630-8e9f-8bf5d90208bf"
|
||||
---
|
||||
|
||||
Supabase Storage lacks native folder concepts or APIs for batch folder operations, which can lead to inefficient folder operations (move, rename, delete) and difficulties in implementing hierarchical access controls for objects.
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "Transfer edge functions from one project to another"
|
||||
topics = ["cli", "database", "functions"]
|
||||
keywords = ["functions", "typescript", "deno"]
|
||||
database_id = "99b787e0-9ec5-4268-a07d-4d6c377cb1ac"
|
||||
---
|
||||
|
||||
This guide shows how you can transfer your Edge Functions from one project to another using the Supabase CLI or the Supabase Dashboard.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Unable to call Edge Function"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "invoke", "call", "CORS", "authentication", "JWT", "edge function" ]
|
||||
database_id = "cd298838-6f13-4b70-a198-a8bd26b2c0bd"
|
||||
---
|
||||
|
||||
If you're having trouble invoking an Edge Function or experiencing CORS issues, follow these steps to diagnose and resolve the problem.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title = "Unable to deploy Edge Function"
|
||||
topics = [ "functions" ]
|
||||
keywords = [ "deploy", "deployment", "edge function", "deno", "syntax", "bundle" ]
|
||||
database_id = "68bb6df6-6a07-40fa-ad4d-dfa5e21d7e9c"
|
||||
|
||||
[api]
|
||||
cli = ["supabase-functions-deploy"]
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
title = "'Why Supabase Edge Functions cannot provide static egress IPs for allow listing'"
|
||||
topics = [ "auth", "functions", "platform", "self-hosting" ]
|
||||
keywords = []
|
||||
database_id = "99b56e92-62f2-4602-8e13-d38caf7aff4c"
|
||||
---
|
||||
|
||||
When trying to establish secure connections from Supabase Edge Functions to external services, you might encounter difficulties with traditional IP allow listing. This guide explains why this problem occurs and provides various solutions to address it.
|
||||
|
||||
Reference in new issue
Block a user