mirror of
https://github.com/supabase/supabase.git
synced 2026-07-02 13:34:27 +08:00
28 lines
1.3 KiB
Plaintext
28 lines
1.3 KiB
Plaintext
---
|
|
id: timeouts
|
|
title: Timeouts
|
|
description: Timeouts and optimization
|
|
---
|
|
|
|
By default, Supabase limits the maximum statement execution time to _3 seconds_ for users accessing the API using the anon key, and _8 seconds_ for authenticated users. Additionally, all users are subject to a global limit of _2 minutes_. This serves as a backstop against resource exhaustion due to either poorly written queries, or abusive usage.
|
|
|
|
### Changing the default timeout
|
|
|
|
The timeout values were picked as a reasonable default for the majority of use-cases, but can be modified using the [`alter role`](https://www.postgresql.org/docs/current/sql-alterrole.html) statement:
|
|
|
|
```sql
|
|
alter role authenticated set statement_timeout = '15s';
|
|
```
|
|
|
|
You can also update the statement timeout for a session:
|
|
|
|
```sql
|
|
set statement_timeout to 60000; -- 1 minute in milliseconds
|
|
```
|
|
|
|
### Statement Optimization
|
|
|
|
All Supabase projects come with the [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) extension installed, which tracks planning and execution statistics for all statements executed against it. These statistics can be used in order to diagnose the performance of your project.
|
|
|
|
This data can further be used in conjunction with the [`explain`](https://www.postgresql.org/docs/current/using-explain.html) functionality of Postgres to optimize your usage.
|