Bring over the images

This commit is contained in:
dshukertjr committed 2026-09-16 20:59:45 +09:00
1 parent 6a7f7575cd
commit f3cbdaa822
90 files changed
+66 -110

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 MiB

@@ -16,7 +16,7 @@ You can review the [Billing Dashboard](/dashboard/org/_/usage#egress) for egress
- Example: [Custom Reports](/dashboard/project/_/observability/api-overview?newReport=true) -> Add/Remove charts -> Database API -> API Egress.
![image](/docs/img/troubleshooting/reports-page-egress.png)
![image](/kb/img/troubleshooting/reports-page-egress.png)
## What is contributing to Egress?
@@ -15,7 +15,7 @@ Work through the following steps to diagnose and repair your migration history s
1. Go to [Branches](/dashboard/project/_/branches) and find the affected branch.
2. Click **View logs**. A dialog shows the branch's creation workflow, including the failed step.
![Branch creation workflow logs showing the failed migration step for a branch in MIGRATIONS_FAILED status](/docs/img/troubleshooting/migrations-failed-status.png)
![Branch creation workflow logs showing the failed migration step for a branch in MIGRATIONS_FAILED status](/kb/img/troubleshooting/migrations-failed-status.png)
---
@@ -25,7 +25,7 @@ Work through the following steps to diagnose and repair your migration history s
2. Look for entries beginning with `execute <unnamed>:`. These are the individual migration statements being replayed.
3. Find the entry marked as an **error**, which the Dashboard also highlights in red. This is the statement that failed, and its message explains why. Common messages include relation already exists, column not found, permission denied, and relation does not exist.
![Postgres Logs with the failed migration statement marked as an error and its message expanded](/docs/img/troubleshooting/postgres-logs-migration-failed.png)
![Postgres Logs with the failed migration statement marked as an error and its message expanded](/kb/img/troubleshooting/postgres-logs-migration-failed.png)
---
@@ -66,7 +66,7 @@ This retrieves the migration files currently recorded against your `main` branch
After repairing the migration history, either create a new branch or **rebase** the existing affected branch.
![The rebase branch button in the Dashboard branch details view](/docs/img/troubleshooting/rebase-image.png)
![The rebase branch button in the Dashboard branch details view](/kb/img/troubleshooting/rebase-image.png)
Check the branch's workflow logs again, as described in step 1, to confirm migrations now complete successfully.
@@ -10,7 +10,7 @@ PostgREST supports 2 config parameters:
- Exposed Schemas
- Extra Search Path
![image](/docs/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png)
![image](/kb/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png)
You do not need to add your "security definer" Functions to either of these if you are using them in your Policies.
@@ -126,7 +126,7 @@ Your project uses the [new asymmetric keys](/blog/jwt-signing-keys) for authenti
In the [Functions Dashboard](/dashboard/project/_/functions/), open the affected function's `detail tab` and toggle off JWT verification.
![image](/docs/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png)
![image](/kb/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png)
#### Method B: Supabase CLI
@@ -58,7 +58,7 @@ The difference between the two errors is:
> [!NOTE]
> Always configure an appropriate time frame when querying the logs
>
> ![image](/docs/img/troubleshooting/edge_function_404_set_timeframe.png)
> ![image](/kb/img/troubleshooting/edge_function_404_set_timeframe.png)
You cannot inspect the function dashboard to find platform 404 errors, instead, run the below query in the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%20distinct%0A%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%2C%0A%20%20case%0A%20%20%20%20when%20log_attributes%5B%27execution_id%27%5D%20%3D%20%27%27%20then%20%27FUNCTION_NOT_FOUND%27%0A%20%20%20%20else%20%27FUNCTION%20RECOGNIZED%3A%20custom%20404%20message%20in%20app%20logic%27%0A%20%20end%20as%20type_of_404%0Afrom%20logs%0Awhere%0A%20%20source%20%3D%20%27function_edge_logs%27%0A%20%20and%20toInt32OrZero%28log_attributes%5B%27response.status_code%27%5D%29%20%3D%20404%0Alimit%2010%3B). The results show all requests that reached Supabase but were rejected as unrecognizable.
@@ -90,7 +90,7 @@ In your code, make sure your function name doesn't have any typos, such as:
When selecting your function in the [Function Dashboard](/dashboard/project/_/functions), you should have the option to make a test call:
![image](/docs/img/troubleshooting/edge_function_404_test_call.png)
![image](/kb/img/troubleshooting/edge_function_404_test_call.png)
If the call works, consider double checking your code for typos or to see if it is overwriting the function name dynamically. Otherwise, go on to step 4.
@@ -100,7 +100,7 @@ If step 3 fails, it may be a sign of an internal bug and it may be necessary to
This can be done within the [Function Dashboard](/dashboard/project/_/functions) under the respective function's code tab:
![image](/docs/img/troubleshooting/edge_function_404_redeploy.png)
![image](/kb/img/troubleshooting/edge_function_404_redeploy.png)
Alternatively, if you develop locally, you can redeploy the function with the [Supabase CLI](/docs/guides/local-development/cli/getting-started?queryGroups=platform&platform=macos):
@@ -85,7 +85,7 @@ A [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refere
In the [Function Dashboard](/dashboard/project/_/functions), under the affected function's `Log` tab, you can filter for the key phrase `worker boot error:`. the log will tell you syntax error occurred:
![image](/docs/img/troubleshooting/filter_503.png)
![image](/kb/img/troubleshooting/filter_503.png)
Alternatively, instead of using the Function Dashboard, you can programmatically find boot failure error messages in the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%0A%20%20fl.event_message%2C%0A%20%20fl.timestamp%2C%0A%20%20fel.function_name%2C%0A%20%20fel.status_code%0Afrom%0A%20%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20timestamp%2C%0A%20%20%20%20%20%20event_message%2C%0A%20%20%20%20%20%20log_attributes%5B%27function_id%27%5D%20as%20function_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27version%27%5D%20as%20version%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_logs%27%0A%20%20%20%20%20%20and%20log_attributes%5B%27event_type%27%5D%20%3D%20%27BootFailure%27%0A%20%20%29%20as%20fl%0A%20%20left%20join%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20log_attributes%5B%27function_id%27%5D%20as%20function_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27version%27%5D%20as%20version%2C%0A%20%20%20%20%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20%20%20%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_edge_logs%27%0A%20%20%29%20as%20fel%20on%20fl.function_id%20%3D%20fel.function_id%20and%20fl.version%20%3D%20fel.version%0Aorder%20by%20fl.timestamp%2C%20fel.function_name%0Alimit%2020%3B) with the below query:
@@ -57,7 +57,7 @@ console.timeEnd('fetch-user-data')
The time response will show up in the [function's dashboard](/dashboard/project/_/functions) under the `Log` tab with the label you assigned it. You can use the label as a keyword to search for the timestamp.
![image](/docs/img/troubleshooting/edge-function-504-timestamp-1.png)
![image](/kb/img/troubleshooting/edge-function-504-timestamp-1.png)
For local development, you can also step through execution with [Chrome Dev Tools](/docs/guides/functions/debugging-tools).
@@ -42,7 +42,7 @@ In the [function dashboard's](/dashboard/project/_/functions/) `Logs` tab, you c
- `Memory limit exceeded`
- `CPU Time exceeded`
![image](/docs/img/troubleshooting/limit_logs.png)
![image](/kb/img/troubleshooting/limit_logs.png)
Alternatively, you can filter for the specific errors from the function using the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%0A%20%20fl.event_message%2C%0A%20%20fl.timestamp%2C%0A%20%20fel.function_name%2C%0A%20%20fel.status_code%0Afrom%0A%20%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20timestamp%2C%0A%20%20%20%20%20%20event_message%2C%0A%20%20%20%20%20%20log_attributes%5B%27execution_id%27%5D%20as%20execution_id%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_logs%27%0A%20%20%20%20%20%20and%20log_attributes%5B%27level%27%5D%20%3D%20%27error%27%0A%20%20%29%20as%20fl%0A%20%20inner%20join%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20log_attributes%5B%27execution_id%27%5D%20as%20execution_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20%20%20%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_edge_logs%27%0A%20%20%20%20%20%20and%20toInt32OrZero%28log_attributes%5B%27response.status_code%27%5D%29%20%3D%20546%0A%20%20%29%20as%20fel%20on%20fl.execution_id%20%3D%20fel.execution_id%0Aorder%20by%20fl.timestamp%2C%20fel.function_name%0Alimit%2020%3B)
@@ -171,7 +171,7 @@ limit 24;
```
The output may look like:
![image](/docs/img/troubleshooting/546_errors_by_hour.png)
![image](/kb/img/troubleshooting/546_errors_by_hour.png)
If the failures are concentrated to a specific time, you can check if you made any updates around that period or if users were engaging in atypical behavior, such as sending larger payloads.
@@ -7,14 +7,10 @@ github_url: 'https://github.com/orgs/supabase/discussions/17296'
Although Failed to Fetch can occur for a variety of reasons a common one in the dashboard or when using update code is related to a browser extension.
![image](/docs/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png)
![image](/kb/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png)
https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf
This extension sets PATCH to be blocked by default for some reason...
<img
width="704"
alt="168501713-5f020510-4555-4cc3-84de-582efc1c62de"
src="https://github.com/supabase/supabase/assets/54564956/c61b9292-2954-4c68-8129-995941f36210"
/>
![168501713-5f020510-4555-4cc3-84de-582efc1c62de](https://github.com/supabase/supabase/assets/54564956/c61b9292-2954-4c68-8129-995941f36210)
@@ -4,7 +4,7 @@ description: 'Explains that this error typically means the database is overloade
topics: ['Troubleshooting', 'Database', 'Dashboard']
---
![Failed to run sql query: Connection terminated due to connection timeout](/docs/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg)
![Failed to run sql query: Connection terminated due to connection timeout](/kb/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg)
This error typically happens when the database is overloaded and causing an outage. As the database does not respond in a timely manner there can be a variety of symptoms such as tables not loading, error messages related to retrieving data and the dashboard seems to be unresponsive.
@@ -17,7 +17,7 @@ curl https://<YOUR_PROJECT_REF>.supabase.co/customer/v1/privileged/metrics --use
## Step 2: Set your Grafana Dashboard to auto-refresh in the top right corner
![388343266-ed4b8f38-e0cd-474e-bc1c-1ac6ae68e1aa](/docs/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png)
![388343266-ed4b8f38-e0cd-474e-bc1c-1ac6ae68e1aa](/kb/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png)
## Step 3: Make sure your docker container has the default configurations
@@ -29,7 +29,7 @@ docker ps -f name=supabase-grafana
The output should look something like this:
![image](/docs/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png)
![image](/kb/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png)
Here it is in an easier to read format
@@ -22,7 +22,7 @@ Moreover, your instance might not be able to handle future traffic spikes if it
You can check your CPU usage directly on the Supabase Platform. For this go to database health in the [Observability section](/dashboard/project/_/observability/database) and select your project.
![CPU usage reported on Supabase dashboard](/docs/img/guides/platform/exhaust-cpu-report.png)
![CPU usage reported on Supabase dashboard](/kb/img/guides/platform/exhaust-cpu-report.png)
It is also possible to monitor your resources and set up alerts using Prometheus/Grafana. You can find a guide for this [here](/docs/guides/observability/metrics).
@@ -63,7 +63,7 @@ The default connection values are set based on a solid understanding of Postgres
This is a Grafana Chart of unhealthy memory usage:
![image](/docs/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png)
![image](/kb/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png)
- Yellow: represents active memory
- Red: represents SWAP, which is disk storage that the system treats as if it were memory
@@ -91,12 +91,8 @@ select
The below chart is an example of what can occur to the CPU if 100s of connections are inappropriately opened/closed every second or many CPU intensive queries are run in parallel
![image](/docs/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png)
![image](/kb/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png)
If you plan on increasing your direct connection numbers, your database should have relatively predictable or low CPU usage, such as what the example displays below:
<img
width="706"
alt="Screenshot 2024-06-11 at 3 09 03 PM"
src="https://github.com/supabase/supabase/assets/91111415/ee3e4f4c-87a1-4ef8-9ca5-af9094fc1b93"
/>
![Screenshot 2024-06-11 at 3 09 03 PM](https://github.com/supabase/supabase/assets/91111415/ee3e4f4c-87a1-4ef8-9ca5-af9094fc1b93)
@@ -16,7 +16,7 @@ This method requires two steps - first delete in Supabase, then clean up in Verc
Go to your [project settings](/dashboard/project/_/settings/general) and click **"Delete project"**. This permanently removes your database and marks it as "uninstalled" in Vercel.
![Delete project button in Supabase project settings](/docs/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png)
![Delete project button in Supabase project settings](/kb/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png)
2. **Clean up in Vercel**
@@ -25,13 +25,13 @@ This method requires two steps - first delete in Supabase, then clean up in Verc
- Go to the **Storage** tab
- Click on the Supabase project (it will show as "uninstalled")
![Uninstalled Supabase project in Vercel Storage](/docs/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png)
![Uninstalled Supabase project in Vercel Storage](/kb/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png)
- Scroll down and find the **Settings** tab in the sidebar
![Vercel project settings navigation](/docs/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png)
![Vercel project settings navigation](/kb/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png)
- Click **Delete Database** to completely remove it
![Delete Database button in Vercel settings](/docs/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png)
![Delete Database button in Vercel settings](/kb/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png)
### Method 2: Delete directly from Vercel (removes from both platforms)
@@ -49,13 +49,13 @@ This method deletes the project from both Vercel and Supabase in one action.
Find and click the **Settings** tab in the sidebar.
![Vercel project settings navigation](/docs/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png)
![Vercel project settings navigation](/kb/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png)
4. **Delete the project**
Scroll down and click **Delete Database**. This removes the project from both Vercel and Supabase simultaneously.
![Delete Database button in Vercel settings](/docs/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png)
![Delete Database button in Vercel settings](/kb/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png)
## Transferring projects from Vercel organizations
@@ -68,7 +68,7 @@ If you want to move a Vercel-linked project to a different organization:
Go to your [project settings](/dashboard/project/_/settings/general) and look for **"Transfer Project"**. Transfer your project to a different organization.
![Transfer project option in Supabase project settings](/docs/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png)
![Transfer project option in Supabase project settings](/kb/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png)
Note: The owner must be a member of both the source and target organizations. Transferring a Vercel-managed project will remove its linked Vercel storage from your team.
@@ -93,13 +93,13 @@ If you want to move a Vercel-linked project to a different organization:
Go to your [organization settings](/dashboard/org/_/general) and click **"Delete organization in Vercel Marketplace"**. This opens the Vercel settings page.
![Delete organization in Vercel Marketplace button](/docs/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png)
![Delete organization in Vercel Marketplace button](/kb/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png)
2. **Uninstall integration**
Scroll down and click **Uninstall Integration** to fully remove the organization and disconnect it from Vercel.
![Uninstall Integration button in Vercel settings](/docs/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png)
![Uninstall Integration button in Vercel settings](/kb/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png)
## Important notes
@@ -17,7 +17,7 @@ Knowing which backend your project uses helps you understand where your database
In the Lovable interface, click the **Cloud icon** on the top bar of your project editor. This section shows which backend your project is currently connected to.
![Lovable Cloud icon inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png)
![Lovable Cloud icon inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png)
> [!NOTE]
> The Cloud icon appears for all projects, regardless of which backend type you're using. Click it to see your actual backend configuration.
@@ -28,7 +28,7 @@ Once you open the Cloud settings, you see one of two interfaces depending on you
If the page shows a menu and screens to manage your Database tables, and Users from within Lovable (similar to the screenshot below), then your backend is managed by **Lovable Cloud**.
![Lovable Cloud backend settings inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png)
![Lovable Cloud backend settings inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png)
Your Supabase instance in this case is **owned and managed by Lovable**, not by your personal Supabase account.
You won’t see this project in your Supabase Dashboard, and you won’t have access to service role keys or direct database URLs.
@@ -37,7 +37,7 @@ You won’t see this project in your Supabase Dashboard, and you won’t have ac
If the page displays the Supabase icon, your Supabase project name, and some links that direct you to the Supabase Dashboard (similar to the screenshot below), then your Lovable project is connected to a **Supabase project you manage directly**.
![Supabase backend settings inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png)
![Supabase backend settings inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png)
## Summary
@@ -105,8 +105,4 @@ If your task is particularly long, you can speed it up by boosting your computin
HSNW indexes can produce temporary files during their construction that may consume a few GBs worth of disk.
Consider increasing the disk size in the [Infrastructure settings](/dashboard/project/_/settings/infrastructure) to accommodate for short-term disk stress.
<img
width="947"
alt="Screenshot 2024-06-10 at 8 00 28 PM"
src="https://github.com/supabase/supabase/assets/91111415/9820e214-8796-4b56-91a3-2e73e4836b2f"
/>
![Screenshot 2024-06-10 at 8 00 28 PM](https://github.com/supabase/supabase/assets/91111415/9820e214-8796-4b56-91a3-2e73e4836b2f)
@@ -61,6 +61,6 @@ After calling your function, you can check your [edge function logs](/dashboard/
> Note: search filters are case sensitive and must be present in the event message.
![image](/docs/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png)
![image](/kb/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png)
> Note: excessively long JSON logs may be truncated. If this occurs, use the [JSON.stringify()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) function to convert the JSON object into text. You can then copy and paste the log into a [JSON beautifier.](https://jsonformatter.org/)
@@ -11,8 +11,8 @@ github_url: 'https://github.com/orgs/supabase/discussions/27022'
Here are examples of unhealthy CPU utilization:
![image](/docs/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png)
![image](/docs/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png)
![image](/kb/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png)
![image](/kb/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png)
The CPU chart shows 4 distinct metrics of interest:
@@ -44,19 +44,19 @@ There are other metrics that indicate IO strain.
This example shows a 16XL database exhibiting severe IO strain:
![image](/docs/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png)
![image](/kb/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png)
Its Disk IOPS is constantly near peak capacity:
![image](/docs/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png)
![image](/kb/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png)
Its throughput is also high:
![image](/docs/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png)
![image](/kb/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png)
As a side-effect, its CPU is encumbered by heavy Busy IOWait activity:
![image](/docs/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png)
![image](/kb/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png)
Excessive IO usage is highly problematic as it clarifies that your database is expending more IO than it normally is intended to manage. This can be caused by
@@ -9,8 +9,8 @@ When you create a function and call it from a trigger the NEW variable is only p
The UI currently defaults to STATEMENT which will not provide NEW or OLD variables to the function.
![image](/docs/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png)
![image](/kb/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png)
Also in SQL (reference: https://www.postgresql.org/docs/current/sql-createtrigger.html)
![image](/docs/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png)
![image](/kb/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png)
@@ -13,11 +13,11 @@ When executing operations in the Supabase dashboard, there are situations where
Here is an example of a toast error message:
![Screenshot 2024-07-01 at 2 05 36 PM](/docs/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png)
![Screenshot 2024-07-01 at 2 05 36 PM](/kb/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png)
Here is an example of a toast success message:
![Screenshot 2024-07-01 at 2 06 35 PM](/docs/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png)
![Screenshot 2024-07-01 at 2 06 35 PM](/kb/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png)
## What causes it?
@@ -44,11 +44,7 @@ FROM pg_stat_activity where application_name ilike 'pg_cron scheduler';
If the query does not return a row, the worker has died. To revive it, you must go to the [General Settings](/dashboard/project/_/settings/general) and initiate a fast reboot:
<img
width="719"
alt="Screenshot 2024-10-29 at 12 27 24 AM"
src="https://github.com/user-attachments/assets/d7a2956c-08e0-4ebc-be08-d14a2383f36b"
/>
![Screenshot 2024-10-29 at 12 27 24 AM](https://github.com/user-attachments/assets/d7a2956c-08e0-4ebc-be08-d14a2383f36b)
#### Check the `cron.job_run_details` table for more information
@@ -115,11 +115,7 @@ The below example gives Prisma full authority over all database objects in the p
In the [Query Performance Advisor](/dashboard/project/_/database/query-performance), you can view long-running or frequently accessed queries by role:
<img
width="1509"
alt="Screenshot 2024-06-19 at 1 25 16 PM"
src="https://github.com/supabase/supabase/assets/91111415/46e2feae-9fca-4436-a957-2c995eb5ca92"
/>
![Screenshot 2024-06-19 at 1 25 16 PM](https://github.com/supabase/supabase/assets/91111415/46e2feae-9fca-4436-a957-2c995eb5ca92)
Selecting a query can reveal suggestions to improve its performance
@@ -4,7 +4,7 @@ description: 'Explains what causes unhealthy service indicators in Project Statu
topics: ['Troubleshooting', 'Supabase Platform', 'Dashboard']
---
![Unhealthy services in Project Status](/docs/img/troubleshooting/project-status-unhealthy-services.png)
![Unhealthy services in Project Status](/kb/img/troubleshooting/project-status-unhealthy-services.png)
If the project was recently restored, it can take up a couple minutes to become fully operational.
@@ -15,17 +15,13 @@ A 500 error in Auth typically indicates an issue with an external dependency, su
Ensure you have access to the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs), set the query source to **Logs**, and set the time range appropriately:
![image](/docs/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png)
![image](/kb/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png)
#### Improving log readability
Logs are displayed in a table format, which can be challenging to read. Double-clicking on a row will expand it for easier viewing:
<img
width="1012"
alt="Screenshot 2024-08-14 at 1 15 26 PM"
src="https://github.com/user-attachments/assets/6f4c833c-ae15-41e1-9aa8-48ebd58741a1"
/>
![Screenshot 2024-08-14 at 1 15 26 PM](https://github.com/user-attachments/assets/6f4c833c-ae15-41e1-9aa8-48ebd58741a1)
### Section 1: Checking for database-level errors
@@ -13,7 +13,7 @@ To find your hostname, navigate to the dashboard and click [Connect](/dashboard/
Example Hostname: `db.zcjtzmeifsoteyjytnbc.supabase.co`
![Screenshot 2024-04-02 at 11 38 28 AM](/docs/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png)
![Screenshot 2024-04-02 at 11 38 28 AM](/kb/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png)
## Managing your IP address
@@ -8,15 +8,7 @@ Projects paused for more than 1 year can no longer be restored through Supabase
Both the database backup and Storage objects can be downloaded from the [Project Overview](/dashboard/project/_) section in Supabase Studio before the project is deleted.
<Image
alt="Restore project after pause"
src={{
dark: '/docs/img/restore-after-90-day-dark.png',
light: '/docs/img/restore-after-90-day-light.png',
}}
width={1600}
height={900}
/>
![Restore project after pause](/kb/img/restore-after-90-day-dark.png)
Check this [short video walk-through](https://youtu.be/ktsgm8HxWqo?si=5_8IVzL1rp8MWv7m) of the full migration process.
@@ -16,7 +16,7 @@ This is an intermediate and actionable guide for Postgres optimization within th
Supabase has an [open-source Grafana Repo](https://github.com/supabase/supabase-grafana) that displays real-time metrics of your database. Although the [Observability Dashboard](/dashboard/project/_/observability) provides similar metrics, it averages the data by the hour or day. Having visibility over how your database responds to changes helps to ensure that the database is not stressed by the index-building process.
_Visual of Grafana Dashboard_
![image](/docs/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png)
![image](/kb/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png)
It can be run locally within Docker or can be deployed for free to fly.io. Installation instructions can be found in [Supabase's metrics docs](/docs/guides/observability/metrics/grafana-self-hosted)
@@ -33,11 +33,7 @@ They sit between the database and your client servers. They are solely optimized
Supabase provides 3 database connection strings that can be used simultaneously if necessary. You can find them on the dashboard by clicking [Connect](/dashboard/project/_?showConnect=true).
<img
width="999"
alt="Screenshot 2024-07-04 at 10 40 38 AM"
src="https://github.com/supabase/supabase/assets/91111415/1d653203-84d9-406a-a7c9-1f7d097f5a29"
/>
![Screenshot 2024-07-04 at 10 40 38 AM](https://github.com/supabase/supabase/assets/91111415/1d653203-84d9-406a-a7c9-1f7d097f5a29)
### Direct connections:
@@ -129,11 +125,7 @@ No, it doesn't. See why:
In the [Dashboard's Database Settings](/dashboard/project/_/database/settings), you can configure Supavisor's "Pool Size":
<img
width="673"
alt="Screenshot 2024-02-25 at 10 06 25 PM"
src="https://github.com/supabase/supabase/assets/91111415/ce9e9d28-67c2-4dd2-ac0a-0a0150e63b4f"
/>
![Screenshot 2024-02-25 at 10 06 25 PM](https://github.com/supabase/supabase/assets/91111415/ce9e9d28-67c2-4dd2-ac0a-0a0150e63b4f)
You can also change the pool size for PostgREST's (DB API) internal pooler at the bottom of the [application settings](/dashboard/project/_/settings/api).
@@ -63,7 +63,7 @@ This deploys all functions within the `supabase/functions` to the target project
1. In the source project, navigate to **Edge Functions** from the side menu
2. Using the `Download` button, download your desired function as zip:
![Download Edge Function](/docs/img/troubleshooting/download-edge-function-via-dashboard.gif)
![Download Edge Function](/kb/img/troubleshooting/download-edge-function-via-dashboard.gif)
3. In the target project, navigate to **Edge Functions** from the side menu
@@ -73,6 +73,6 @@ This deploys all functions within the `supabase/functions` to the target project
6. Add your function name and click on the `Deploy function` button to deploy the function:
![Upload Edge Function](/docs/img/troubleshooting/upload-edge-function-via-dashboard.gif)
![Upload Edge Function](/kb/img/troubleshooting/upload-edge-function-via-dashboard.gif)
With this, you can transfer your edge functions between your Supabase projects.
@@ -67,7 +67,7 @@ const { data, error } = await supabase
**Execution Time: 0.069 ms:** measures how long it took to execute the query, including retrieving the data, performing any sorts, joins, or other operations defined in the execution plan, and returning the final results. This time is measured in milliseconds.
![image](/docs/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png)
![image](/kb/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png)
## Detailed components in explain analyze
@@ -188,7 +188,7 @@ So, the acceptable performance threshold can vary by application. For real-time
## Tools to interpret explain analyze output
Since reading a longer execution plan is quite cumbersome, you can use the website https://explain.depesz.com/ to better visualize the query. If you paste the execution plan in the text area and hit “Submit”, you will get output like this:
![image](/docs/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png)
![image](/kb/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png)
## Tips for optimizing queries
@@ -9,7 +9,7 @@ github_url: 'https://github.com/orgs/supabase/discussions/27479'
This discussion explains your organization's usage metrics, which can be found here: [https://supabase.com/dashboard/org/\_/usage](/dashboard/org/_/usage).
![](/docs/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png)
![](/kb/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png)
These metrics are calculated based on all the projects under the organization that meet these criteria:
@@ -14,13 +14,13 @@ Hey everyone, i've been hearing feedback about how challenging it can be to get
## For `smtp-relay.gmail.com`
![image](/docs/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png)
![image](/kb/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png)
(The "Require TLS encryption" option didn't seem to affect anything when tested)![image](/docs/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png)
(The "Require TLS encryption" option didn't seem to affect anything when tested)![image](/kb/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png)
## For `smtp.gmail.com`
![image](/docs/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png)
![image](/kb/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png)
A lot of this was figured out through trial and error.
This is unlikely to be a Supabase Auth bug because Supabase Auth uses the [native Golang SMTP library ](https://pkg.go.dev/net/smtp). If you still have issues setting up Google SMTP, you can try switching to one of these SMTP providers:
@@ -8,6 +8,6 @@ github_url: 'https://github.com/orgs/supabase/discussions/12946'
Why are redirects going to localhost instead of the production site URL?
In order for the provided `redirectTo` option to work you must set the exact URL in the shown Redirect URL's setting.
![image](/docs/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png)
![image](/kb/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png)
For more information on formats for redirect URL settings see the documentation here: https://supabase.com/docs/guides/auth/redirect-urls#use-wildcards-in-redirect-urls
@@ -7,11 +7,7 @@ github_url: 'https://github.com/orgs/supabase/discussions/21579'
The dashboard makes requests to the health endpoints of the Supabase services (Database, Auth, Data API, Realtime, Edge Functions to ensure everything is working). These requests appear in the charts about your project:
<img
width="1135"
alt="image"
src="https://github.com/supabase/supabase/assets/5036432/08b1c142-289c-46f3-ac21-38faad50ef8a"
/>
![image](https://github.com/supabase/supabase/assets/5036432/08b1c142-289c-46f3-ac21-38faad50ef8a)
You can see these requests to the health endpoints from the log explorer here: