Merge branch 'master' into feat/edge-functions-ui
No files matched your search
@@ -12,6 +12,8 @@ import {
|
||||
redirectNonexistentReferenceSection,
|
||||
} from '~/features/docs/Reference.utils'
|
||||
|
||||
export const dynamicParams = false
|
||||
|
||||
export default async function ReferencePage({
|
||||
params: { slug },
|
||||
}: {
|
||||
@@ -39,7 +41,6 @@ export default async function ReferencePage({
|
||||
|
||||
return <ClientSdkReferencePage sdkId={sdkId} libVersion={version} />
|
||||
} else if (isCliReference) {
|
||||
console.log('Returning CLI reference page: %o', parsedPath)
|
||||
return <CliReferencePage />
|
||||
} else if (isApiReference) {
|
||||
return <ApiReferencePage />
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
There is no fixed fee for a Preview branch. You only pay for the usage it incurs. With Compute costs of $0.01344 per hour, a branch running on Micro Compute size starts at $0.32 per day.
|
||||
@@ -0,0 +1,8 @@
|
||||
$2 per 1 million invocations. You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | --------- | ---------------------------- |
|
||||
| Free | 500,000 | - |
|
||||
| Pro | 2 million | $2 per 1 million invocations |
|
||||
| Team | 2 million | $2 per 1 million invocations |
|
||||
| Enterprise | Custom | Custom |
|
||||
@@ -0,0 +1 @@
|
||||
$0.00325 per MAU. You are only charged for usage exceeding your subscription plan's quota.
|
||||
@@ -0,0 +1 @@
|
||||
$0.015 per SSO MAU. You are only charged for usage exceeding your subscription plan's quota.
|
||||
@@ -0,0 +1 @@
|
||||
$0.00325 per Third-Party MAU. You are only charged for usage exceeding your subscription plan's quota.
|
||||
@@ -0,0 +1,7 @@
|
||||
$0.1027 per hour ($75 per month) for the first project. $0.0137 per hour ($10 per month) for every additional project.
|
||||
|
||||
| Plan | Project 1 per month | Project 2 per month | Project 3 per month |
|
||||
| ---------- | ------------------- | ------------------- | ------------------- |
|
||||
| Pro | $75 | $10 | $10 |
|
||||
| Team | $75 | $10 | $10 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
@@ -0,0 +1,7 @@
|
||||
Pricing depends on the recovery retention period, which determines how many days back you can restore data to any chosen point of up to seconds in granularity.
|
||||
|
||||
| Recovery Retention Period in Days | Hourly Price USD | Monthly Price USD |
|
||||
| --------------------------------- | ---------------- | ----------------- |
|
||||
| 7 | $0.137 | $100 |
|
||||
| 14 | $0.274 | $200 |
|
||||
| 28 | $0.55 | $400 |
|
||||
@@ -0,0 +1,8 @@
|
||||
$10 per 1,000 peak connections. You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | ------ | ------------------------------ |
|
||||
| Free | 200 | - |
|
||||
| Pro | 500 | $10 per 1,000 peak connections |
|
||||
| Team | 500 | $10 per 1,000 peak connections |
|
||||
| Enterprise | Custom | Custom |
|
||||
@@ -0,0 +1,8 @@
|
||||
$2.50 per 1 million messages. You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | --------- | ---------------------------- |
|
||||
| Free | 2 million | - |
|
||||
| Pro | 5 million | $2.50 per 1 million messages |
|
||||
| Team | 5 million | $2.50 per 1 million messages |
|
||||
| Enterprise | Custom | Custom |
|
||||
@@ -0,0 +1,13 @@
|
||||
$5 per 1,000 origin images. You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
The count resets at the start of each billing cycle.
|
||||
|
||||
</Admonition>
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | ------ | -------------------------- |
|
||||
| Pro | 100 | $5 per 1,000 origin images |
|
||||
| Team | 100 | $5 per 1,000 origin images |
|
||||
| Enterprise | Custom | Custom |
|
||||
@@ -0,0 +1,8 @@
|
||||
$0.00002919 per GB-Hr ($0.021 per GB per month). You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
| Plan | Quota in GB | Over-Usage per GB | Quota in GB-Hrs | Over-Usage per GB-Hrs |
|
||||
| ---------- | ----------- | ----------------- | --------------- | --------------------- |
|
||||
| Free | 1 | - | 744 | - |
|
||||
| Pro | 100 | $0.021 | 74,400 | $0.00002919 |
|
||||
| Team | 100 | $0.021 | 74,400 | $0.00002919 |
|
||||
| Enterprise | Custom | Custom | Custom | Custom |
|
||||
@@ -15,6 +15,17 @@ import QuickstartIntro from './quickstart_intro.mdx'
|
||||
import SocialProviderSettingsSupabase from './social_provider_settings_supabase.mdx'
|
||||
import SocialProviderSetup from './social_provider_setup.mdx'
|
||||
import PostgresInstallation from './postgres_installation.mdx'
|
||||
import PricingMfaPhone from './billing/pricing/pricing_mfa_phone.mdx'
|
||||
import PricingBranching from './billing/pricing/pricing_branching.mdx'
|
||||
import PricingEdgeFunctions from './billing/pricing/pricing_edge_functions.mdx'
|
||||
import PricingMau from './billing/pricing/pricing_mau.mdx'
|
||||
import PricingMauSso from './billing/pricing/pricing_mau_sso.mdx'
|
||||
import PricingMauThirdParty from './billing/pricing/pricing_mau_third_party.mdx'
|
||||
import PricingPitr from './billing/pricing/pricing_pitr.mdx'
|
||||
import PricingRealtimeMessages from './billing/pricing/pricing_realtime_messages.mdx'
|
||||
import PricingRealtimeConnections from './billing/pricing/pricing_realtime_connections.mdx'
|
||||
import PricingStorageImageTransformations from './billing/pricing/pricing_storage_image_transformations.mdx'
|
||||
import PricingStorageSize from './billing/pricing/pricing_storage_size.mdx'
|
||||
|
||||
export {
|
||||
AuthErrorCodesTable,
|
||||
@@ -32,4 +43,15 @@ export {
|
||||
SocialProviderSettingsSupabase,
|
||||
SocialProviderSetup,
|
||||
PostgresInstallation,
|
||||
PricingMfaPhone,
|
||||
PricingBranching,
|
||||
PricingEdgeFunctions,
|
||||
PricingMau,
|
||||
PricingMauSso,
|
||||
PricingMauThirdParty,
|
||||
PricingPitr,
|
||||
PricingRealtimeMessages,
|
||||
PricingRealtimeConnections,
|
||||
PricingStorageImageTransformations,
|
||||
PricingStorageSize,
|
||||
}
|
||||
@@ -1009,10 +1009,6 @@ export const database: NavMenuConstant = {
|
||||
name: 'pg_plan_filter: Restrict Total Cost',
|
||||
url: '/guides/database/extensions/pg_plan_filter',
|
||||
},
|
||||
{
|
||||
name: 'pg_stat_monitor: Extended Query Performance Monitoring',
|
||||
url: '/guides/database/extensions/pg_stat_monitor',
|
||||
},
|
||||
{
|
||||
name: 'postgres_fdw: query data from an external Postgres server',
|
||||
url: '/guides/database/extensions/postgres_fdw',
|
||||
@@ -1415,6 +1411,10 @@ export const functions: NavMenuConstant = {
|
||||
name: 'Limits',
|
||||
url: '/guides/functions/limits',
|
||||
},
|
||||
{
|
||||
name: 'Pricing',
|
||||
url: '/guides/functions/pricing',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1583,6 +1583,7 @@ export const realtime: NavMenuConstant = {
|
||||
url: undefined,
|
||||
items: [
|
||||
{ name: 'Quotas', url: '/guides/realtime/quotas' },
|
||||
{ name: 'Pricing', url: '/guides/realtime/pricing' },
|
||||
{ name: 'Architecture', url: '/guides/realtime/architecture' },
|
||||
{ name: 'Message Protocol', url: '/guides/realtime/protocol', items: [] },
|
||||
{ name: 'Benchmarks', url: '/guides/realtime/benchmarks' },
|
||||
@@ -1668,6 +1669,7 @@ export const storage: NavMenuConstant = {
|
||||
items: [
|
||||
{ name: 'Copy / Move Objects', url: '/guides/storage/management/copy-move-objects' },
|
||||
{ name: 'Delete Objects', url: '/guides/storage/management/delete-objects' },
|
||||
{ name: 'Pricing', url: '/guides/storage/management/pricing' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -2103,12 +2105,114 @@ export const platform: NavMenuConstant = {
|
||||
url: undefined,
|
||||
items: [
|
||||
{
|
||||
name: 'How billing works',
|
||||
url: '/guides/platform/org-based-billing',
|
||||
name: 'About billing on Supabase',
|
||||
url: '/guides/platform/billing-on-supabase',
|
||||
},
|
||||
{
|
||||
name: 'Spend caps and cost-controls',
|
||||
url: '/guides/platform/spend-cap',
|
||||
name: 'Get set up for billing',
|
||||
url: '/guides/platform/get-set-up-for-billing',
|
||||
},
|
||||
{
|
||||
name: 'Manage your subscription',
|
||||
url: '/guides/platform/manage-your-subscription',
|
||||
},
|
||||
{
|
||||
name: 'Manage your usage',
|
||||
url: '/guides/platform/manage-your-usage',
|
||||
items: [
|
||||
{
|
||||
name: 'Compute',
|
||||
url: '/guides/platform/manage-your-usage/compute',
|
||||
},
|
||||
{
|
||||
name: 'Egress',
|
||||
url: '/guides/platform/manage-your-usage/egress',
|
||||
},
|
||||
{
|
||||
name: 'Disk Size',
|
||||
url: '/guides/platform/manage-your-usage/disk-size',
|
||||
},
|
||||
{
|
||||
name: 'Disk Throughput',
|
||||
url: '/guides/platform/manage-your-usage/disk-throughput',
|
||||
},
|
||||
{
|
||||
name: 'Disk IOPS',
|
||||
url: '/guides/platform/manage-your-usage/disk-iops',
|
||||
},
|
||||
{
|
||||
name: 'Monthly Active Users',
|
||||
url: '/guides/platform/manage-your-usage/monthly-active-users',
|
||||
},
|
||||
{
|
||||
name: 'Monthly Active Third-Party Users',
|
||||
url: '/guides/platform/manage-your-usage/monthly-active-users-third-party',
|
||||
},
|
||||
{
|
||||
name: 'Monthly Active SSO Users',
|
||||
url: '/guides/platform/manage-your-usage/monthly-active-users-sso',
|
||||
},
|
||||
{
|
||||
name: 'Storage Size',
|
||||
url: '/guides/platform/manage-your-usage/storage-size',
|
||||
},
|
||||
{
|
||||
name: 'Storage Image Transformations',
|
||||
url: '/guides/platform/manage-your-usage/storage-image-transformations',
|
||||
},
|
||||
{
|
||||
name: 'Edge Function Invocations',
|
||||
url: '/guides/platform/manage-your-usage/edge-function-invocations',
|
||||
},
|
||||
{
|
||||
name: 'Realtime Messages',
|
||||
url: '/guides/platform/manage-your-usage/realtime-messages',
|
||||
},
|
||||
{
|
||||
name: 'Realtime Peak Connections',
|
||||
url: '/guides/platform/manage-your-usage/realtime-peak-connections',
|
||||
},
|
||||
{
|
||||
name: 'Custom Domains',
|
||||
url: '/guides/platform/manage-your-usage/custom-domains',
|
||||
},
|
||||
{
|
||||
name: 'Point-in-Time Recovery',
|
||||
url: '/guides/platform/manage-your-usage/point-in-time-recovery',
|
||||
},
|
||||
{
|
||||
name: 'IPv4',
|
||||
url: '/guides/platform/manage-your-usage/ipv4',
|
||||
},
|
||||
{
|
||||
name: 'MFA Phone',
|
||||
url: '/guides/platform/manage-your-usage/advanced-mfa-phone',
|
||||
},
|
||||
{
|
||||
name: 'Read Replicas',
|
||||
url: '/guides/platform/manage-your-usage/read-replicas',
|
||||
},
|
||||
{
|
||||
name: 'Branching',
|
||||
url: '/guides/platform/manage-your-usage/branching',
|
||||
},
|
||||
{
|
||||
name: 'Log Drains',
|
||||
url: '/guides/platform/manage-your-usage/log-drains',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Your monthly invoice',
|
||||
url: '/guides/platform/your-monthly-invoice',
|
||||
},
|
||||
{
|
||||
name: 'Control your costs',
|
||||
url: '/guides/platform/cost-control',
|
||||
},
|
||||
{
|
||||
name: 'Credits',
|
||||
url: '/guides/platform/credits',
|
||||
},
|
||||
{
|
||||
name: 'Billing FAQ',
|
||||
|
||||
@@ -38,3 +38,12 @@ Supabase Auth works with many popular Auth methods, including Social and Phone A
|
||||
### Phone Auth
|
||||
|
||||
<AuthProviders type="phone" />
|
||||
|
||||
## Pricing
|
||||
|
||||
Charges apply to Monthly Active Users (MAU), Monthly Active Third-Party Users (Third-Party MAU), and Monthly Active SSO Users (SSO MAU) and Advanced MFA Add-ons. For a detailed breakdown of how these charges are calculated, refer to the following pages:
|
||||
|
||||
- [Pricing MAU](/docs/guides/platform/manage-your-usage/monthly-active-users)
|
||||
- [Pricing Third-Party MAU](/docs/guides/platform/manage-your-usage/monthly-active-users-third-party)
|
||||
- [Pricing SSO MAU](/docs/guides/platform/manage-your-usage/monthly-active-users-sso)
|
||||
- [Advanced MFA - Phone](/docs/guides/platform/manage-your-usage/advanced-mfa-phone)
|
||||
@@ -102,7 +102,7 @@ When a HTTP hook is created, the secret generated should be of the following for
|
||||
- `whsec_` signifies that the secret is symmetric
|
||||
- `<standard-base64-secret>` implies a Standard Base64 encoded secret which can contain the characters `+`, `/` and `=`
|
||||
|
||||
The secret is used to verify the payload received in your hook. Create an entry in your `.env.local` file to store the secret for each hook that you have. For example:
|
||||
The secret is used to verify the payload received in your hook. Create an entry in your `.env.local` file to store the `<standard-base64-secret>` portion of the secret for each hook that you have. For example:
|
||||
|
||||
```bash
|
||||
HOOK_SECRETS=<standard-base64-secret>
|
||||
|
||||
@@ -21,8 +21,6 @@ Below is a flow chart illustrating how the Enrollment and Verify APIs work in th
|
||||
containerClassName="max-w-[700px]"
|
||||
/>
|
||||
|
||||
Phone MFA is part of the Auth Advanced MFA Add-on and costs an additional $75 per month for the first project in the organization and an additional $10 per month for additional projects.
|
||||
|
||||
### Add enrollment flow
|
||||
|
||||
An enrollment flow provides a UI for users to set up additional authentication factors. Most applications add the enrollment flow in two places within their app:
|
||||
@@ -311,3 +309,9 @@ function AuthMFA() {
|
||||
Each code is valid for up to 5 minutes, after which a new one can be sent. Successive codes remain valid until expiry. When possible choose the longest code length acceptable to your use case, at a minimum of 6. This can be configured in the [Authentication Settings](/dashboard/project/_/settings/auth).
|
||||
|
||||
Please be aware that Phone MFA is vulnerable to SIM swap attacks where an attacker will call a mobile provider and ask to port the target's phone number to a new SIM card and then use the said SIM card to intercept an MFA code. Please evaluate the your application's tolerance for such an attack. You can read more about SIM swapping attacks [here](https://en.wikipedia.org/wiki/SIM_swap_scam)
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMfaPhone />
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Advanced MFA Phone usage](/docs/guides/platform/manage-your-usage/advanced-mfa-phone).
|
||||
@@ -382,6 +382,12 @@ supabase sso show <provider-id> --project-ref <your-project>
|
||||
|
||||
You can use the `-o json` flag to output the information as JSON, should you need to. Other formats may be supported, please use `--help` to see all available options.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMauSso />
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Monthly Active SSO Users usage](/docs/guides/platform/manage-your-usage/monthly-active-users-sso).
|
||||
|
||||
## Frequently asked questions
|
||||
|
||||
### How do I publish my application to an identity provider's marketplace?
|
||||
|
||||
@@ -576,7 +576,7 @@ try await supabase.auth.resetPasswordForEmail(
|
||||
<TabPanel id="kotlin" label="Kotlin">
|
||||
|
||||
```kotlin
|
||||
supabase.gotrue.sendRecoveryEmail(
|
||||
supabase.auth.resetPasswordForEmail(
|
||||
email = "valid.email@supabase.io",
|
||||
redirectUrl = "http://example.com/account/update-password"
|
||||
)
|
||||
|
||||
@@ -163,12 +163,13 @@ To prevent TypeScript errors, add type definitions for the new `event.locals` pr
|
||||
|
||||
```ts src/app.d.ts
|
||||
import type { Session, SupabaseClient, User } from '@supabase/supabase-js'
|
||||
import type { Database } from './database.types.ts' // import generated types
|
||||
|
||||
declare global {
|
||||
namespace App {
|
||||
// interface Error {}
|
||||
interface Locals {
|
||||
supabase: SupabaseClient
|
||||
supabase: SupabaseClient<Database>
|
||||
safeGetSession: () => Promise<{ session: Session | null; user: User | null }>
|
||||
session: Session | null
|
||||
user: User | null
|
||||
|
||||
@@ -27,3 +27,9 @@ There are some limitations you should be aware of when using third-party authent
|
||||
1. The third-party provider must use asymmetrically signed JWTs (exposed as an OIDC Issuer Discovery URL by the third-party authentication provider). Using symmetrically signed JWTs is not possible at this time.
|
||||
2. The JWT signing keys from the third-party provider are stored in the configuration of your project, and are checked for changes periodically. If you are rotating your keys (when supported) allow up to 30 minutes for the change to be picked up.
|
||||
3. It is not possible to disable Supabase Auth at this time.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMauThirdParty />
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Monthly Active Third-Party Users usage](/docs/guides/platform/manage-your-usage/monthly-active-users-third-party).
|
||||
@@ -17,7 +17,7 @@ You can change how many database connections Supavisor can manage by altering th
|
||||
|
||||
The general rule is that if you are heavily using the PostgREST database API, you should be conscientious about raising your pool size past 40%. Otherwise, you can commit 80% to the pool. This leaves adequate room for the Authentication server and other utilities.
|
||||
|
||||
These numbers are generalizations and depends on other Supabase products that you use and the extent of their usage. The actual values depend on your peak connection usage. For instance, if you were only using 80 connections in a week period and your database max connections is set to 500, then realistically you could allocate the difference of 420 (minus a reasonable buffer) to service more demand.
|
||||
These numbers are generalizations and depends on other Supabase products that you use and the extent of their usage. The actual values depend on your concurrent peak connection usage. For instance, if you were only using 80 connections in a week period and your database max connections is set to 500, then realistically you could allocate the difference of 420 (minus a reasonable buffer) to service more demand.
|
||||
|
||||
## Monitoring connections
|
||||
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
---
|
||||
id: 'pg_stat_monitor'
|
||||
title: 'pg_stat_monitor: Query Performance Monitoring'
|
||||
description: 'Query performance monitoring for PostgreSQL'
|
||||
---
|
||||
|
||||
[pg_stat_monitor](https://github.com/percona/pg_stat_monitor) is query performance monitoring tool that provides query execution statistics in a SQL view named `pg_stat_monitor`. It tracks a superset of statistics available in [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html). Some of the most useful features are:
|
||||
|
||||
- **Time Interval Grouping**: configurable time buckets to track query usage over time
|
||||
- **Capture Parameters**: optionally track parameters passed into queries instead of generic placeholders e.g. `$1`
|
||||
- **Query Plan**: store query plans used for execution
|
||||
|
||||
For more information on query optimization, check out the [query performance guide](/docs/guides/platform/performance#examining-query-performance).
|
||||
|
||||
## Enable the extension
|
||||
|
||||
<Tabs
|
||||
scrollable
|
||||
size="small"
|
||||
type="underlined"
|
||||
defaultActiveId="dashboard"
|
||||
queryGroup="database-method"
|
||||
>
|
||||
<TabPanel id="dashboard" label="Dashboard">
|
||||
|
||||
1. Go to the [Database](https://supabase.com/dashboard/project/_/database/tables) page in the Dashboard.
|
||||
2. Click on **Extensions** in the sidebar.
|
||||
3. Search for "pg_stat_monitor" and enable the extension.
|
||||
|
||||
</TabPanel>
|
||||
<TabPanel id="sql" label="SQL">
|
||||
|
||||
{/* prettier-ignore */}
|
||||
```sql
|
||||
-- Enable the "pg_stat_monitor" extension
|
||||
create extension pg_stat_monitor with schema extensions;
|
||||
|
||||
-- Disable the "pg_stat_monitor" extension
|
||||
drop extension if exists pg_stat_monitor;
|
||||
```
|
||||
|
||||
Even though the SQL code is `create extension`, this is the equivalent of "enabling the extension".
|
||||
To disable an extension you can call `drop extension`.
|
||||
|
||||
It's good practice to create the extension within a separate schema (like `extensions`) to keep the `public` schema clean.
|
||||
|
||||
</TabPanel>
|
||||
</Tabs>
|
||||
|
||||
## Views
|
||||
|
||||
{/* prettier-ignore */}
|
||||
```sql
|
||||
select * from extensions.pg_stat_monitor;
|
||||
```
|
||||
|
||||
The following table shows a subset of available columns:
|
||||
|
||||
| Column Type | Description |
|
||||
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `bucket` `bigint` | Data collection unit. The number shows what bucket in a chain a record belongs to |
|
||||
| `bucket_start_time` `timestampz` | The start time of the bucket |
|
||||
| `userid` `oid` (references `pg_authid.oid`) | OID of user who executed the statement |
|
||||
| `dbid` `oid` (references `pg_database.oid`) | OID of database in which the statement was executed |
|
||||
| `toplevel` `bool` | True if the query was executed as a top-level statement (always true if pg_stat_statements.track is set to top) |
|
||||
| `client_ip` `inet` | The IP address of a client that ran the query |
|
||||
| `queryid` `bigint` | Hash code to identify identical normalized queries. |
|
||||
| `planid` `text` | An internally generated ID of a query plan |
|
||||
| `query_plan` `text` | The sequence of steps used to execute a query. This parameter is only available when pgsm_enable_query_plan is enabled |
|
||||
| `query` `text` | Text of a representative statement |
|
||||
| `plans` `bigint` | Number of times the statement was planned (if pg_stat_statements.track_planning is enabled, otherwise zero) |
|
||||
| `total_plan_time` `double precision` | Total time spent planning the statement, in milliseconds (if pg_stat_statements.track_planning is enabled, otherwise zero) |
|
||||
| `min_plan_time` `double precision` | Minimum time spent planning the statement, in milliseconds (if pg_stat_statements.track_planning is enabled, otherwise zero) |
|
||||
|
||||
A full list of statistics is available in the [pg_stat_monitor docs](https://docs.percona.com/pg-stat-monitor/reference.html#postgresql-15).
|
||||
|
||||
## Functions
|
||||
|
||||
- [`pg_stat_monitor_reset()`](https://docs.percona.com/pg-stat-monitor/functions.html): Resets the statistics tracked by the `pg_stat_monitor` view and deletes all previous data.
|
||||
- [`pg_stat_monitor_version()`](https://docs.percona.com/pg-stat-monitor/functions.html): Displays the version of the `pg_stat_monitor` extension.
|
||||
|
||||
## Resources
|
||||
|
||||
- Official [`pg_stat_monitor` documentation](https://github.com/percona/pg_stat_monitor)
|
||||
@@ -117,7 +117,7 @@ For running commands via the Supabase UI.
|
||||
|
||||
### `supabase_admin`
|
||||
|
||||
Supabase Administrative role for maintaining your database.
|
||||
An internal role Supabase uses for administrative tasks, such as running upgrades and automations.
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
id: 'functions-pricing'
|
||||
title: 'Pricing'
|
||||
---
|
||||
|
||||
<PricingEdgeFunctions />
|
||||
|
||||
For a detailed explanation of how charges are calculated, refer to [Manage Edge Function Invocations usage](/docs/guides/platform/manage-your-usage/edge-function-invocations).
|
||||
@@ -135,6 +135,12 @@ A date and time picker will be provided upon pressing the `Start a restore` butt
|
||||
|
||||
After locking in the desired point in time to recover to, The Dashboard will then prompt for a review and confirmation before proceeding with the restoration. The project will be inaccessible following this. As such, do ensure to allot for downtime beforehand. This is dependent on the size of the database. The larger it is, the longer the downtime will be. Once the confirmation has been given, the latest physical backup available is downloaded to the project and the database is partially restored. WAL files generated after this physical backup up to the specified point-in-time are then downloaded. The underlying records of transactions in these files are replayed against the database to complete the restoration. The Dashboard will display a notification once the restoration completes.
|
||||
|
||||
### Pricing
|
||||
|
||||
<PricingPitr />
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Point-in-Time Recovery usage](/docs/guides/platform/manage-your-usage/point-in-time-recovery).
|
||||
|
||||
## Restore to a new project
|
||||
|
||||
Supabase provides a convenient way to restore data from an existing project into a completely new one. Whether you're using physical backups or Point-in-Time recovery (PITR), this feature allows you to duplicate project data with ease, perform testing safely, or recover data for analysis. Access to this feature is exclusive to users on paid plans and requires that physical backups are enabled for the source project.
|
||||
|
||||
@@ -10,8 +10,9 @@ subtitle: 'This documentation covers frequently asked questions around subscript
|
||||
#### What are organizations and projects?
|
||||
|
||||
The Supabase Platform has "organizations" and "projects". An organization may contain multiple projects. Each project is a dedicated Supabase instance with all of its sub-services including Storage, Auth, Functions and Realtime.
|
||||
Each organization only has a single subscription with a single Plan (Free, Pro, Team or Enterprise). Project add-ons such as [Compute](/docs/guides/platform/compute-add-ons), [IPv4](/docs/guides/platform/ipv4-address), [Log Drains](/docs/guides/platform/log-drains), [Advanced MFA](/docs/guides/auth/auth-mfa/phone), [Custom Domains](https://supabase.com/docs/guides/platform/custom-domains) and [PITR](https://supabase.com/docs/guides/platform/backups#point-in-time-recovery) are configured per project and are added to your organization subscription.
|
||||
Read more on [how billing is organized](https://supabase.com/docs/guides/platform/org-based-billing#how-billing-is-organized).
|
||||
Each organization only has a single subscription with a single plan (Free, Pro, Team or Enterprise). Project add-ons such as [Compute](/docs/guides/platform/compute-add-ons), [IPv4](/docs/guides/platform/ipv4-address), [Log Drains](/docs/guides/platform/log-drains), [Advanced MFA](/docs/guides/auth/auth-mfa/phone), [Custom Domains](https://supabase.com/docs/guides/platform/custom-domains) and [PITR](https://supabase.com/docs/guides/platform/backups#point-in-time-recovery) are configured per project and are added to your organization subscription.
|
||||
|
||||
Read more on [About billing on Supabase](https://supabase.com/docs/guides/platform/billing-on-supabase#organization-based-billing).
|
||||
|
||||
#### How many free projects can I have?
|
||||
|
||||
@@ -39,16 +40,16 @@ No, we do not charge for paused projects. Compute hours are only counted for act
|
||||
|
||||
#### How are multiple projects billed under a paid organization?
|
||||
|
||||
We provide a dedicated server for every Supabase project. Each paid organization comes with $10 in Compute Credits to cover one project on the default compute size. Additional projects start at ~$10 a month (billed hourly). See how billing for compute works [here](https://supabase.com/docs/guides/platform/org-based-billing#billing-for-compute-compute-hours).
|
||||
We provide a dedicated server for every Supabase project. Each paid organization comes with $10 in Compute Credits to cover one project on the default compute size. Additional projects start at ~$10 a month (billed hourly).
|
||||
|
||||
Running 3 projects in a Pro Plan organization on the default micro instance:
|
||||
Running 3 projects in a Pro Plan organization on the default Micro instance:
|
||||
|
||||
- $25 Pro Plan
|
||||
- $30 for 3 projects on the default compute size
|
||||
- $10 Compute credits
|
||||
⇒ $45 / month
|
||||
|
||||
Refer to our docs on [how billing works](https://supabase.com/docs/guides/platform/org-based-billing) for more [examples](https://supabase.com/docs/guides/platform/org-based-billing#billing-examples) and insights.
|
||||
Refer to our [Compute](/docs/guides/platform/manage-your-usage/compute#billing-examples) docs for more examples and insights.
|
||||
|
||||
#### How does compute billing work?
|
||||
|
||||
@@ -60,13 +61,13 @@ If you launch additional instances on your paid plan, we will add the correspond
|
||||
|
||||
If you upgrade your project to a larger instance for 10 hours and then downgrade, you’ll only pay for the larger instance for the 10 hours of usage at the end of your billing cycle. You can see your current compute usage on your [organization’s usage page](https://supabase.com/dashboard/org/_/usage).
|
||||
|
||||
Read more on [how billing for compute works](https://supabase.com/docs/guides/platform/org-based-billing#billing-for-compute-compute-hours).
|
||||
Read more about [Compute usage](/docs/guides/platform/manage-your-usage/compute).
|
||||
|
||||
#### What is unified egress and how is it billed?
|
||||
|
||||
Unified egress refers to the total egress quota available to each organization. This quota can be utilized for various purposes such as Storage, Realtime, Auth, Functions, Supavisor, Log Drains and Database. Each plan includes a specific egress quota, and any additional usage beyond that quota is billed accordingly.
|
||||
|
||||
To learn more about unified egress and its details, please refer to the information provided [here](/docs/guides/platform/org-based-billing#unified-egress).
|
||||
Read more about [Egress usage](/docs/guides/platform/manage-your-usage/egress).
|
||||
|
||||
## Plans and subscriptions
|
||||
|
||||
@@ -76,11 +77,13 @@ Change your subscription plan in your [organization's billing settings](https://
|
||||
|
||||
#### What happens if I cancel my subscription?
|
||||
|
||||
The organization is given credits for unused time on the subscription plan or add-ons. The credits will not expire and can be used again in the future.
|
||||
The organization is given [credits](/docs/guides/platform/credits) for unused time on the subscription plan. The credits will not expire and can be used again in the future. You may see an additional charge for unbilled excessive usage charges from your previous billing cycle.
|
||||
|
||||
Read more about [downgrades](/docs/guides/platform/manage-your-subscription#downgrade).
|
||||
|
||||
#### I mistakenly upgraded the wrong organization and then downgraded it. Could you please issue a refund?
|
||||
|
||||
We can transfer the amount as credits to another organization of your choice. You can use these credits to upgrade the organization, or if you have already upgraded, the credits will be used to pay the next month's invoice. Please create a [support ticket](https://supabase.help) for this case.
|
||||
We can transfer the amount as [credits](/docs/guides/platform/credits) to another organization of your choice. You can use these credits to upgrade the organization, or if you have already upgraded, the credits will be used to pay the next month's invoice. Please create a [support ticket](https://supabase.help) for this case.
|
||||
|
||||
## Quotas and spend caps
|
||||
|
||||
@@ -94,7 +97,7 @@ You will be notified when you exceed your Pro Plan quota. To unblock yourself, y
|
||||
|
||||
#### How do I scale beyond the limits of my Pro Plan?
|
||||
|
||||
The Pro Plan has a spend cap enabled by default to keep costs under control. If you want to scale beyond the plan's included quota, switch off the spend cap to pay for additional usage beyond the plans included limits. You can toggle the spend cap in the [organization's billing settings](https://supabase.com/dashboard/org/_/billing). Read more about the [spend cap](https://supabase.com/docs/guides/platform/spend-cap).
|
||||
The Pro Plan has a Spend Cap enabled by default to keep costs under control. If you want to scale beyond the plan's included quota, switch off the Spend Cap to pay for additional usage beyond the plans included limits. You can toggle the Spend Cap in the [organization's billing settings](https://supabase.com/dashboard/org/_/billing). Read more about the [Spend Cap](/docs/guides/platform/cost-control#spend-cap).
|
||||
|
||||
## Fair Use Policy
|
||||
|
||||
@@ -167,13 +170,19 @@ All our invoices are issued in USD, but you can pay in any currency so long as t
|
||||
Yes, you will have to add the new payment method before being allowed to remove the old one.
|
||||
This can be done from your dashboard on the [organization’s billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
|
||||
Read more on [Manage your payment methods](/docs/guides/platform/manage-your-subscription#manage-your-payment-methods).
|
||||
|
||||
#### Can I pay upfront for multiple months?
|
||||
|
||||
You can top up your credit balance to cover multiple months through your [organization’s billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
|
||||
Read more on [Credit top-ups](/docs/guides/platform/credits#credit-top-ups).
|
||||
|
||||
#### When are payments taken?
|
||||
|
||||
Payments are taken at the beginning of each billing cycle. You will be charged once a month. You can see the current billing cycle and upcoming invoice in your [organization's billing settings](https://supabase.com/dashboard/org/_/billing). The subscription plan, custom domain and PITR add-ons are charged upfront, whereas usage-charges, including compute, are charged in hindsight based on your usage.
|
||||
Payments are taken at the beginning of each billing cycle. You will be charged once a month. You can see the current billing cycle and upcoming invoice in your [organization's billing settings](https://supabase.com/dashboard/org/_/billing). The subscription plan fee is charged upfront, whereas usage-charges, including compute, are charged in arrears based on your usage.
|
||||
|
||||
Read more on [Your monthly invoice](/docs/guides/platform/your-monthly-invoice).
|
||||
|
||||
#### Where can I change my billing details?
|
||||
|
||||
@@ -205,8 +214,8 @@ No, you cannot delay your payment.
|
||||
|
||||
#### Can I get a refund of my unused credits?
|
||||
|
||||
No, we do not provide refunds. Please refer to our [Terms of Service](https://supabase.com/terms#:~:text=5.-,Fees%20and%20Taxes.,-1.%20Fees.).
|
||||
No, we do not provide refunds. Please refer to our [Terms of Service](https://supabase.com/terms#1-fees).
|
||||
|
||||
#### What do I do if my bill looks wrong?
|
||||
|
||||
Please submit a [support ticket](https://supabase.help) through the dashboard. Select the affected organization and provide the invoice number for us to look at your case.
|
||||
Take a moment to review our [Your monthly invoice](/docs/guides/platform/your-monthly-invoice) page, which may help clarify any questions about your invoice. If it still looks wrong, submit a [support ticket](https://supabase.help) through the dashboard. Select the affected organization and provide the invoice number for us to look at your case.
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
id: 'billing-on-supabase'
|
||||
title: 'About billing on Supabase'
|
||||
---
|
||||
|
||||
## Subscription plans
|
||||
|
||||
Supabase offers different subscription plans—Free, Pro, Team, and Enterprise. For a closer look at each plan's features and pricing, visit our [pricing page](https://supabase.com/pricing).
|
||||
|
||||
### Free Plan
|
||||
|
||||
The Free Plan helps you get started and explore the platform. You are granted two free projects. The project limit applies across all organizations where you are an Owner or Administrator. This means you could have two Free Plan organizations with one project each, or one Free Plan organization with two projects. Paused projects do not count towards your free project limit.
|
||||
|
||||
### Paid plans
|
||||
|
||||
Upgrading your organization to a paid plan provides additional features, and you receive a higher [usage quota](/docs/guides/platform/billing-on-supabase#variable-usage-fees-and-quotas). You unlock the benefits of the paid plan for all projects within your organization - for example, no projects in your Pro Plan organization will be paused.
|
||||
|
||||
## Organization-based billing
|
||||
|
||||
Supabase bills separately for each organization. Each organization has its own subscription, including a unique subscription plan (Free, Pro, Team, or Enterprise), payment method, billing cycle, and invoices.
|
||||
|
||||
Different plans cannot be mixed within a single organization. For example, you cannot have both a Pro Plan project and a Free Plan project in the same organization. To have projects on different plans, you must create separate organizations. See [Project Transfers](/docs/guides/platform/project-transfer) if you need to move a project to a different organization.
|
||||
|
||||
<div className="text-center">
|
||||
<Image
|
||||
alt="Organization-based billing"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/billing-overview--light.png',
|
||||
dark: '/docs/img/guides/platform/billing-overview.png',
|
||||
}}
|
||||
className="max-w-[600px] inline-block"
|
||||
zoomable
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Costs
|
||||
|
||||
Monthly costs for paid plans include a fixed subscription fee based on your chosen plan and variable usage fees. To learn more about billing and cost management, refer to the following resources.
|
||||
|
||||
- [Your monthly invoice](/docs/guides/platform/your-monthly-invoice) - For a detailed breakdown of what a monthly invoice includes
|
||||
- [Manage your usage](/docs/guides/platform/manage-your-usage) - For details on how the different usage items are billed, and how to optimize usage and reduce costs
|
||||
- [Control your costs]() - For details on how you can control your costs in case unexpected high usage occurs
|
||||
|
||||
### Compute costs for projects
|
||||
|
||||
An organization can have multiple projects. Each project includes a dedicated Postgres instance running on its own server. You are charged for the Compute resources of that server, independent of your database usage.
|
||||
|
||||
<Admonition type="caution">
|
||||
|
||||
Each project you launch increases your monthly Compute costs.
|
||||
|
||||
</Admonition>
|
||||
|
||||
Read more about [Compute costs](/docs/guides/platform/manage-your-usage/compute).
|
||||
|
||||
## Variable Usage Fees and Quotas
|
||||
|
||||
Each subscription plan includes a built-in quota for some selected usage items, such as [Egress](/docs/guides/platform/manage-your-usage/egress), [Storage Size](/docs/guides/platform/manage-your-usage/storage-size), or [Edge Function Invocations](/docs/guides/platform/manage-your-usage/edge-function-invocations). This quota represents your free usage allowance. If you stay within it, you incur no extra charges for these items. Only usage beyond the quota is billed as overage.
|
||||
|
||||
For usage items without a quota, such as [Compute](/docs/guides/platform/manage-your-usage/compute) or [Custom Domains](/docs/guides/platform/manage-your-usage/custom-domains), you are charged for your entire usage.
|
||||
|
||||
The quota is applied to your entire organization, independent of how many projects you launch within that organization. For billing purposes, we sum the usage across all projects in a monthly invoice.
|
||||
|
||||
| Usage Item | Free | Pro/Team | Enterprise |
|
||||
| -------------------------------- | ------------------------ | -------------------------------------------------- | ---------- |
|
||||
| Egress | 5 GB | 250 GB included, then $0.09 per GB | Custom |
|
||||
| Database Size | 500 MB | 8 GB disk per project included, then $0.125 per GB | Custom |
|
||||
| Monthly Active Users | 50,000 MAU | 100,000 MAU included, then $0.00325 per MAU | Custom |
|
||||
| Monthly Active Third-Party Users | 50 MAU | 50 MAU included, then $0.00325 per MAU | Custom |
|
||||
| Monthly Active SSO Users | Unavailable on Free Plan | 50 MAU included, then $0.015 per MAU | Custom |
|
||||
| Storage Size | 1 GB | 100 GB included, then $0.021 per GB | Custom |
|
||||
| Storage Images Transformed | Unavailable on Free Plan | 100 included, then $5 per 1000 | Custom |
|
||||
| Edge Function Invocations | 500,000 | 2 million included, then $2 per million | Custom |
|
||||
| Realtime Message Count | 2 million | 5 million included, then $2.5 per million | Custom |
|
||||
| Realtime Peak Connections | 200 | 500 included, then $10 per 1000 | Custom |
|
||||
|
||||
You can find a detailed breakdown of all usage items and how they are billed on the [Manage your usage](/docs/guides/platform/manage-your-usage) page.
|
||||
|
||||
## Project add-ons
|
||||
|
||||
While your subscription plan applies to your entire organization and is charged only once, you can enhance individual projects by opting into various add-ons.
|
||||
|
||||
- [Compute](/docs/guides/platform/compute-and-disk#compute) to scale your database up to 64 cores and 256 GB RAM
|
||||
- [Read Replicas](/docs/guides/platform/read-replicas) to scale read operations and provide resiliency
|
||||
- [Disk](/docs/guides/platform/compute-and-disk#disk) to provision extra IOPS/throughput or use a high-performance SSD
|
||||
- [Log Drains](/docs/guides/telemetry/log-drains) to sync Supabase logs to a logging system of your choice
|
||||
- [Custom Domains](/docs/guides/platform/custom-domains) to provide a branded experience
|
||||
- [PITR](/docs/guides/platform/backups#point-in-time-recovery) to roll back to any specific point in time, down to the minute
|
||||
- [IPv4](/docs/guides/platform/ipv4-address) for a dedicated IPv4 address
|
||||
- [Advanced MFA](/docs/guides/auth/auth-mfa/phone) to provide other options than TOTP
|
||||
@@ -10,9 +10,9 @@ Every project on the Supabase Platform comes with its own dedicated Postgres ins
|
||||
|
||||
The following table describes the base instances, Nano (free plan) and Micro (paid plans), with additional compute instance sizes available if you need extra performance when scaling up.
|
||||
|
||||
<Admonition type="note" label="Nano instances in Pro organizations">
|
||||
<Admonition type="note" label="Nano instances in paid plan organizations">
|
||||
|
||||
In Pro organizations, Nano Compute are billed at the same price as Micro Compute. It is recommended to upgrade your Project from Nano Compute to Micro Compute when it's convenient for you. Compute sizes are not auto-upgraded because of the downtime incurred. See [Supabase Pricing](https://supabase.com/pricing) for more information.
|
||||
In paid organizations, Nano Compute are billed at the same price as Micro Compute. It is recommended to upgrade your Project from Nano Compute to Micro Compute when it's convenient for you. Compute sizes are not auto-upgraded because of the downtime incurred. See [Supabase Pricing](https://supabase.com/pricing) for more information. You cannot launch Nano instances on paid plans, only Micro and above - but you might have Nano instances after upgrading from Free Plan.
|
||||
|
||||
</Admonition>
|
||||
|
||||
@@ -36,7 +36,17 @@ In Pro organizations, Nano Compute are billed at the same price as Micro Compute
|
||||
|
||||
Compute sizes can be changed by first selecting your project in the dashboard [here](https://supabase.com/dashboard/project/_/settings/compute-and-disk) and the upgrade process will [incur downtime](/docs/guides/platform/compute-and-disk#upgrade-downtime).
|
||||
|
||||
We charge hourly for additional compute based on your usage. Read more about [usage-based billing for compute](/docs/guides/platform/org-based-billing#billing-for-compute-compute-hours).
|
||||
<Image
|
||||
alt="Compute Size Selection"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/compute-size-selection--light.png',
|
||||
dark: '/docs/img/guides/platform/compute-size-selection--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
className="max-w-[500px]"
|
||||
/>
|
||||
|
||||
We charge hourly for additional compute based on your usage. Read more about [usage-based billing for compute](/docs/guides/platform/manage-your-usage/compute).
|
||||
|
||||
### Dedicated vs shared CPU
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
id: 'cost-control'
|
||||
title: 'Control your costs'
|
||||
---
|
||||
|
||||
## Spend Cap
|
||||
|
||||
The Spend Cap determines whether your organization can exceed your subscription plan's quota for any usage item. Scenarios that could lead to high usage—and thus high costs—include system attacks or bugs in your software. The Spend Cap can protect you from these unexpected costs for certain usage items.
|
||||
|
||||
This feature is available only with the Pro Plan. However, you will not be charged while using the Free Plan.
|
||||
|
||||
### What happens when the Spend Cap is on?
|
||||
|
||||
After exceeding the quota for a usage item, further usage of that item is disallowed until the next billing cycle. You don't get charged for over-usage but your services will be restricted according to our [Fair Use Policy](/docs/guides/platform/billing-faq#fair-use-policy) if you consistently exceed the quota.
|
||||
|
||||
<Admonition type="note">
|
||||
Note that only certain usage items are covered by the Spend Cap.
|
||||
</Admonition>
|
||||
|
||||
### What happens when the Spend Cap is off?
|
||||
|
||||
Your projects will continue to operate after exceeding the quota for a usage item. Any additional usage will be charged based on the item's cost per unit, as outlined on the [pricing page](https://supabase.com/pricing).
|
||||
|
||||
<Admonition type="note">
|
||||
When the Spend Cap is off, we recommend monitoring your usage and costs on the [organization's
|
||||
usage page](https://supabase.com/dashboard/org/_/usage).
|
||||
</Admonition>
|
||||
|
||||
### Usage items covered by the Spend Cap
|
||||
|
||||
- [Disk Size](/docs/guides/platform/manage-your-usage/disk-size)
|
||||
- [Egress](/docs/guides/platform/manage-your-usage/egress)
|
||||
- [Edge Function Invocations](/docs/guides/platform/manage-your-usage/edge-function-invocations)
|
||||
- [Monthly Active Users](/docs/guides/platform/manage-your-usage/monthly-active-users)
|
||||
- [Monthly Active SSO Users](/docs/guides/platform/manage-your-usage/monthly-active-users-sso)
|
||||
- [Monthly Active Third Party Users](/docs/guides/platform/manage-your-usage/monthly-active-users-third-party)
|
||||
- [Realtime Messages](/docs/guides/platform/manage-your-usage/realtime-messages)
|
||||
- [Realtime Peak Connections](/docs/guides/platform/manage-your-usage/realtime-peak-connections)
|
||||
- [Storage Image Transformations](/docs/guides/platform/manage-your-usage/storage-image-transformations)
|
||||
- [Storage Size](/docs/guides/platform/manage-your-usage/storage-size)
|
||||
|
||||
### Usage items not covered by the Spend Cap
|
||||
|
||||
Usage items that are predictable and explicitly opted into by the user are excluded.
|
||||
|
||||
- [Compute](/docs/guides/platform/manage-your-usage/compute)
|
||||
- [Branching Compute](/docs/guides/platform/manage-your-usage/branching)
|
||||
- [Read Replica Compute](/docs/guides/platform/manage-your-usage/read-replicas)
|
||||
- [Custom Domain](/docs/guides/platform/manage-your-usage/custom-domains)
|
||||
- Additionally provisioned [Disk IOPS](/docs/guides/platform/manage-your-usage/disk-iops)
|
||||
- Additionally provisioned [Disk Throughput](/docs/guides/platform/manage-your-usage/disk-throughput)
|
||||
- [IPv4 address](/docs/guides/platform/manage-your-usage/ipv4)
|
||||
- [Log Drain Hours](/docs/guides/platform/manage-your-usage/log-drains#log-drain-hours)
|
||||
- [Log Drain Events](/docs/guides/platform/manage-your-usage/log-drains#log-drain-events)
|
||||
- [Multi-Factor Authentication Phone](/docs/guides/platform/manage-your-usage/advanced-mfa-phone)
|
||||
- [Point-in-Time-Recovery](/docs/guides/platform/manage-your-usage/point-in-time-recovery)
|
||||
|
||||
### What the Spend Cap is not
|
||||
|
||||
The Spend Cap doesn't allow for fine-grained cost control, such as setting budgets for specific usage item or receiving notifications when certain costs are reached. We plan to make cost control more flexible in the future.
|
||||
|
||||
### Configure the Spend Cap
|
||||
|
||||
You can configure the Spend Cap when creating an organization on the Pro Plan or at any time in the Cost Control section of the [organization's billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
|
||||
## Keep track of your usage and costs
|
||||
|
||||
You can monitor your usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The Billing Breakdown section of the [organization's billing page](https://supabase.com/dashboard/org/_/billing) shows your current spending and provides an estimate of your total costs for the billing cycle based on your usage.
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
id: 'credits'
|
||||
title: 'Credits'
|
||||
---
|
||||
|
||||
## Credit balance
|
||||
|
||||
Each organization has a credit balance. Credits are applied to future invoices to reduce the amount due. As long as the credit balance is greater than $0, credits will be used before charging your payment method on file.
|
||||
|
||||
<Image
|
||||
alt="Subscription upgrade modal"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/credit-balance--light.png',
|
||||
dark: '/docs/img/guides/platform/credit-balance--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
You can find the credit balance on the [organization's billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
|
||||
### What causes the credit balance to change?
|
||||
|
||||
**Subscription plan downgrades:** Upon subscription downgrade, any prepaid subscription fee will be credited back to your organization for unused time in the billing cycle.\
|
||||
As an example, if you start a Pro Plan subscription on January 1 and downgrade to the Free Plan on January 15, your organization will receive about 50% of the subscription fee as credits for the unused time between January 15 and January 31.
|
||||
|
||||
**Credit top-ups:** You self-served a credit top-up or have signed an upfront credits deal with our growth team.
|
||||
|
||||
## Credit top-ups
|
||||
|
||||
You can top up credits at any time, with a maximum of $999 per top-up. These credits do not expire and are non-refundable.
|
||||
|
||||
You may want to consider this option to avoid issues with recurring payments, gain more control over how often your credit card is charged, and potentially make things easier for your accounting department.
|
||||
|
||||
<Admonition type="note">
|
||||
If you are interested in larger (> $1,000) credit packages, please [reach
|
||||
out](https://supabase.com/dashboard/support/new?subject=I%20would%20like%20to%20inquire%20about%20larger%20credit%20packages&category=Billing).
|
||||
</Admonition>
|
||||
|
||||
### How to top up credits
|
||||
|
||||
1. On the [organization's billing page](https://supabase.com/dashboard/org/_/billing), go to section **Credit Balance**
|
||||
2. Click **Top Up**
|
||||
3. Choose the amount
|
||||
4. Choose a payment method or add a new payment method
|
||||
5. Click **Top Up**
|
||||
|
||||
<Image
|
||||
alt="Subscription upgrade modal"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/credit-top-up--light.png',
|
||||
dark: '/docs/img/guides/platform/credit-top-up--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
className="max-w-[500px]"
|
||||
/>
|
||||
|
||||
## Credit FAQ
|
||||
|
||||
### Can I transfer credits to another organization?
|
||||
|
||||
Yes, you can transfer credits to another organization. Please submit a [support ticket](https://supabase.help).
|
||||
|
||||
### Can I get a refund of my unused credits?
|
||||
|
||||
No, we do not provide refunds. Please refer to our [Terms of Service](https://supabase.com/terms#1-fees).
|
||||
@@ -223,3 +223,7 @@ Use the [`vanity-subdomains delete`](/docs/reference/cli/supabase-vanity-subdoma
|
||||
```bash
|
||||
supabase vanity-subdomains delete --project-ref abcdefghijklmnopqrst --experimental
|
||||
```
|
||||
|
||||
## Pricing
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Custom Domain usage](/docs/guides/platform/manage-your-usage/custom-domains).
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: 'get-set-up-for-billing'
|
||||
title: 'Get set up for billing'
|
||||
---
|
||||
|
||||
Correct billing settings are essential for ensuring successful payment processing and uninterrupted services. Additionally, it's important to configure all invoicing-related data early, as this information cannot be changed once an invoice is issued. Review these key points to ensure everything is set up correctly from the start.
|
||||
|
||||
## Payments
|
||||
|
||||
### Ensuring valid credit card details
|
||||
|
||||
Paid plans require a credit card to be on file. Ensure the correct credit card is set as active and
|
||||
|
||||
- has not expired
|
||||
- has sufficient funds
|
||||
- has a sufficient transaction limit
|
||||
|
||||
For more information on managing payment methods, see [Manage your payment methods](/docs/guides/platform/manage-your-subscription#manage-your-payment-methods).
|
||||
|
||||
### Alternatives to monthly charges
|
||||
|
||||
Instead of having your credit card charged every month, you can make an upfront payment by topping up your credit balance.
|
||||
|
||||
You may want to consider this option to avoid issues with recurring payments, gain more control over how often your credit card is charged, and potentially make things easier for your accounting department.
|
||||
|
||||
For more information on credits and credit top-ups, see the [Credits page](/docs/guides/platform/credits).
|
||||
|
||||
## Billing details
|
||||
|
||||
Billing details cannot be changed once an invoice is issued, so it's crucial to configure them correctly from the start.
|
||||
|
||||
You can update your billing email address, billing address and tax ID on the [organization's billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
@@ -106,3 +106,7 @@ Always uses an IPv4 address
|
||||
# Example session string
|
||||
postgresql://postgres.ajrbwkcuthywfddihrmflo:[YOUR-PASSWORD]@aws-0-us-east-1.pooler.supabase.com:5432/postgres
|
||||
```
|
||||
|
||||
## Pricing
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage IPv4 usage](/docs/guides/platform/manage-your-usage/ipv4).
|
||||
@@ -0,0 +1,93 @@
|
||||
---
|
||||
id: 'manage-your-subscription'
|
||||
title: 'Manage your subscription'
|
||||
---
|
||||
|
||||
## Manage your subscription plan
|
||||
|
||||
To change your subscription plan
|
||||
|
||||
1. On the [organization's billing page](https://supabase.com/dashboard/org/_/billing), go to section **Subscription Plan**
|
||||
2. Click **Change subscription plan**
|
||||
3. On the side panel, choose a subscription plan
|
||||
4. Follow the prompts
|
||||
|
||||
### Upgrade
|
||||
|
||||
Upgrades take effect immediately. During the process, you are informed of the associated costs.
|
||||
|
||||
<Image
|
||||
alt="Subscription upgrade modal"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/upgrade-to-pro-plan-modal--light.png',
|
||||
dark: '/docs/img/guides/platform/upgrade-to-pro-plan-modal--dark.png',
|
||||
}}
|
||||
className="max-w-[577px]"
|
||||
zoomable
|
||||
/>
|
||||
|
||||
If you still have credits in your account, we will use the credits first before charging your card.
|
||||
|
||||
### Downgrade
|
||||
|
||||
Downgrades take effect immediately. During the process, you are informed of the implications.
|
||||
|
||||
<Image
|
||||
alt="Subscription downgrade modal"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/downgrade-to-free-plan-modal--light.png',
|
||||
dark: '/docs/img/guides/platform/downgrade-to-free-plan-modal--dark.png',
|
||||
}}
|
||||
className="max-w-[577px]"
|
||||
zoomable
|
||||
/>
|
||||
|
||||
#### Credits upon downgrade
|
||||
|
||||
Upon subscription downgrade, any prepaid subscription fee will be credited back to your organization for unused time in the billing cycle. These credits do not expire and will be applied to future invoices.
|
||||
|
||||
**Example:**
|
||||
If you start a Pro Plan subscription on January 1 and downgrade to the Free Plan on January 15, your organization will receive about 50% of the subscription fee as credits for the unused time between January 15 and January 31.
|
||||
|
||||
As stated in our [Terms of Service](https://supabase.com/terms#1-fees), we do not offer refunds to the payment method on file.
|
||||
|
||||
#### Charges on downgrade
|
||||
|
||||
When you downgrade from a paid plan to the Free Plan, you will get credits for the unused time on the paid plan. However, you will also be charged for any excessive usage in the billing cycle.
|
||||
|
||||
The plan line item (e.g. Pro Plan) gets charged upfront, whereas all usage charges get charged in arrears, as we only know your usage by the end of the billing cycle. Excessive usage is charged whenever a billing cycle resets, so either when your monthly cycle resets, or whenever you do a plan change.
|
||||
|
||||
If you got charged after downgrading to the Free Plan, you had excessive usage in the previous billing cycle. You can check your invoices to see what exactly you were charged for.
|
||||
|
||||
## Manage your payment methods
|
||||
|
||||
You can add multiple payment methods, but only one can be active at a time.
|
||||
|
||||
### Add a payment method
|
||||
|
||||
1. On the [organization's billing page](https://supabase.com/dashboard/org/_/billing), go to section **Payment Methods**
|
||||
2. Click **Add new card**
|
||||
3. Provide your credit card details
|
||||
4. Click **Add payment method**
|
||||
|
||||
### Delete a payment method
|
||||
|
||||
1. On the [organization's billing page](https://supabase.com/dashboard/org/_/billing), go to section **Payment Methods**
|
||||
2. In the context menu of the payment method you want to delete, click **Delete card**
|
||||
3. Click **Confirm**
|
||||
|
||||
### Set a payment method as active
|
||||
|
||||
1. On the [organization's billing page](https://supabase.com/dashboard/org/_/billing), go to section **Payment Methods**
|
||||
2. In the context menu of the payment method you want to delete, click **Use this card**
|
||||
3. Click **Confirm**
|
||||
|
||||
## Manage your billing details
|
||||
|
||||
You can update your billing email address, billing address and tax ID on the [organization's billing page](https://supabase.com/dashboard/org/_/billing).
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Any changes made to your billing details will only be reflected in your upcoming invoices. Our payment provider cannot regenerate previous invoices.
|
||||
|
||||
</Admonition>
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
id: 'manage-your-usage'
|
||||
title: 'Manage your usage'
|
||||
---
|
||||
|
||||
Each subpage breaks down a specific usage item and details what you're charged for, how costs are calculated, and how to optimize usage and reduce costs.
|
||||
|
||||
- [Compute](/docs/guides/platform/manage-your-usage/compute)
|
||||
- [Read Replicas](/docs/guides/platform/manage-your-usage/read-replicas)
|
||||
- [Branching](/docs/guides/platform/manage-your-usage/branching)
|
||||
- [Egress](/docs/guides/platform/manage-your-usage/egress)
|
||||
- [Disk Size](/docs/guides/platform/manage-your-usage/disk-size)
|
||||
- [Disk Throughput](/docs/guides/platform/manage-your-usage/disk-throughput)
|
||||
- [Disk IOPS](/docs/guides/platform/manage-your-usage/disk-iops)
|
||||
- [Monthly Active Users](/docs/guides/platform/manage-your-usage/monthly-active-users)
|
||||
- [Monthly Active Third-Party Users](/docs/guides/platform/manage-your-usage/monthly-active-users-third-party)
|
||||
- [Monthly Active SSO Users](/docs/guides/platform/manage-your-usage/monthly-active-users-sso)
|
||||
- [Storage Size](/docs/guides/platform/manage-your-usage/storage-size)
|
||||
- [Storage Image Transformations](/docs/guides/platform/manage-your-usage/storage-image-transformations)
|
||||
- [Edge Function Invocations](/docs/guides/platform/manage-your-usage/edge-function-invocations)
|
||||
- [Realtime Messages](/docs/guides/platform/manage-your-usage/realtime-messages)
|
||||
- [Realtime Peak Connections](/docs/guides/platform/manage-your-usage/realtime-peak-connections)
|
||||
- [Custom Domains](/docs/guides/platform/manage-your-usage/custom-domains)
|
||||
- [Point-in-Time Recovery](/docs/guides/platform/manage-your-usage/point-in-time-recovery)
|
||||
- [IPv4](/docs/guides/platform/manage-your-usage/ipv4)
|
||||
- [MFA Phone](/docs/guides/platform/manage-your-usage/advanced-mfa-phone)
|
||||
- [Log Drains](/docs/guides/platform/manage-your-usage/log-drains)
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
id: 'manage-usage-advanced-mfa-phone'
|
||||
title: 'Manage Advanced MFA Phone usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for having the feature [Advanced Multi-Factor Authentication Phone](/docs/guides/auth/auth-mfa/phone) enabled for your project.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Additional charges apply for each SMS or WhatsApp message sent, depending on your third-party messaging provider (such as Twilio or MessageBird).
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
MFA Phone is charged by the hour, meaning you are charged for the exact number of hours that the feature is enabled for a project. If the feature is enabled for part of an hour, you are still charged for the full hour.
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you enable the MFA Phone feature for your project. At the end of the billing cycle you are billed for 512 hours.
|
||||
|
||||
| Time Window | MFA Phone | Hours Billed | Description |
|
||||
| ------------------------------------------- | --------- | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | Disabled | 0 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | Disabled | 0 | |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Enabled | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Enabled | 511 | |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Auth MFA Phone Hours" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMfaPhone />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### One project
|
||||
|
||||
The project has MFA Phone activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | -------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| MFA Phone Hours | 744 | $75 |
|
||||
| **Subtotal** | | **$110** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$100** |
|
||||
|
||||
### Multiple projects
|
||||
|
||||
All projects have MFA Phone activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | -------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| MFA Phone Hours Project 1 | 744 | $75 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 2 | 744 | $10 |
|
||||
| MFA Phone Hours Project 2 | 744 | $10 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 3 | 744 | $10 |
|
||||
| MFA Phone Hours Project 3 | 744 | $10 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$150** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$140** |
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
id: 'manage-usage-branching'
|
||||
title: 'Manage Branching usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each [Preview branch](/docs/guides/deployment/branching) is a separate environment with all Supabase services (Database, Auth, Storage, etc.). You're charged for usage within that environment—such as [Compute](/docs/guides/platform/manage-your-usage/compute), [Disk Size](/docs/guides/platform/manage-your-usage/disk-size), [Egress](/docs/guides/platform/manage-your-usage/egress), and [Storage](/docs/guides/platform/manage-your-usage/storage-size)—just like the project you branched from.
|
||||
|
||||
Usage by Preview branches counts toward your subscription plan's quota.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Refer to individual [usage items](/docs/guides/platform/manage-your-usage) for details on how charges are calculated. Branching charges are the sum of all these items.
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Compute incurred by Preview branches is shown as "Branching Compute Hours" on your invoice. Other usage items are not shown separately for branches and are rolled up into the project.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingBranching />
|
||||
|
||||
## Billing examples
|
||||
|
||||
The project has a Preview branch "XYZ", that runs for 30 hours, incurring Compute and Egress costs. Disk Size usage remains within the 8 GB included in the subscription plan, so no additional charges apply.
|
||||
|
||||
| Line Item | Costs |
|
||||
| ------------------------------ | --------- |
|
||||
| Pro Plan | $25 |
|
||||
| | |
|
||||
| Compute Hours Small Project 1 | $15 |
|
||||
| Egress Project 1 | $7 |
|
||||
| Disk Size Project 1 | $3 |
|
||||
| | |
|
||||
| Compute Hours Micro Branch XYZ | $0.4 |
|
||||
| Egress Branch XYZ | $1 |
|
||||
| Disk Size Branch XYZ | $0 |
|
||||
| | |
|
||||
| **Subtotal** | **$51.4** |
|
||||
| Compute Credits | -$10 |
|
||||
| **Total** | **$41.4** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Branching usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Usage Summary section, you can see how many hours your Preview branches existed during the selected time period. Hover over "Branches Compute Hours" for a detailed breakdown.
|
||||
|
||||
<Image
|
||||
alt="Usage summary Branches Compute Hours"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-summary-branch-hours--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-summary-branch-hours--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Merge Preview branches as soon as they are ready
|
||||
- Delete Preview branches that are no longer in use
|
||||
- Check whether your [persistent branches](/docs/guides/deployment/branching#persistent-branches) need to be defined as persistent, or if they can be ephemeral instead. Persistent branches will remain active even after the underlying PR is closed.
|
||||
|
||||
## FAQ
|
||||
|
||||
### Do Compute Credits apply to Branching Compute?
|
||||
|
||||
No, Compute Credits do not apply to Branching Compute.
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
id: 'manage-usage-compute'
|
||||
title: 'Manage Compute usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each project on the Supabase platform includes a dedicated Postgres instance running on its own server. You are charged for the [Compute](/docs/guides/platform/compute-and-disk#compute) resources of that server, independent of your database usage.
|
||||
|
||||
Paused projects do not count towards Compute usage.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Compute is charged by the hour, meaning you are charged for the exact number of hours that a project is running and, therefore, incurring Compute usage. If a project runs for part of an hour, you are still charged for the full hour.
|
||||
|
||||
<Admonition type="caution">
|
||||
|
||||
Each project you launch increases your monthly Compute costs.
|
||||
|
||||
</Admonition>
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you switch your project from the Micro Compute size to the Small Compute size. At the end of the billing cycle you are billed for 233 hours of Micro Compute size and 511 hours of Small Compute size.
|
||||
|
||||
| Time Window | Compute Size | Hours Billed | Description |
|
||||
| ------------------------------------------- | ------------ | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | Micro | 232 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | Micro | 1 | full hour is billed |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Small | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Small | 511 | |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Compute Hours" on your invoice.
|
||||
|
||||
## Compute Credits
|
||||
|
||||
Paid plans include $10 in Compute Credits, which cover one project running on the Micro/Nano Compute size or portions of other Compute sizes. Compute Credits are applied to your Compute costs and are provided to an organization each month. They reset monthly and do not accumulate.
|
||||
|
||||
## Pricing
|
||||
|
||||
| Compute Size | Hourly Price USD | Monthly Price USD |
|
||||
| ------------ | ---------------- | ----------------- |
|
||||
| Nano[^1] | $0 | $0 |
|
||||
| Micro | $0.01344 | ~$10 |
|
||||
| Small | $0.0206 | ~$15 |
|
||||
| Medium | $0.0822 | ~$60 |
|
||||
| Large | $0.1517 | ~$110 |
|
||||
| XL | $0.2877 | ~$210 |
|
||||
| 2XL | $0.562 | ~$410 |
|
||||
| 4XL | $1.32 | ~$960 |
|
||||
| 8XL | $2.562 | ~$1,870 |
|
||||
| 12XL | $3.836 | ~$2,800 |
|
||||
| 16XL | $5.12 | ~$3,730 |
|
||||
|
||||
[^1]: Compute resources on the Free Plan are subject to change.
|
||||
|
||||
<Admonition type="note" label="Nano Compute size in paid plan organizations">
|
||||
|
||||
In paid organizations, Nano Compute are billed at the same price as Micro Compute. It is recommended to upgrade your Project from Nano Compute to Micro Compute when it's convenient for you. Compute sizes are not auto-upgraded because of the downtime incurred. See [Supabase Pricing](https://supabase.com/pricing) for more information. You cannot launch Nano instances on paid plans, only Micro and above - but you might have Nano instances after upgrading from Free Plan.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## Billing examples
|
||||
|
||||
### One project
|
||||
|
||||
The project runs on the same Compute size throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Multiple projects
|
||||
|
||||
All projects run on the same Compute size throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| Compute Hours Micro Project 2 | 744 | $10 |
|
||||
| Compute Hours Micro Project 3 | 744 | $10 |
|
||||
| **Subtotal** | | **$55** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$45** |
|
||||
|
||||
### One project on different Compute sizes
|
||||
|
||||
The project's Compute size changes throughout the billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 233 | $3 |
|
||||
| Compute Hours Small Project 1 | 511 | $11 |
|
||||
| **Subtotal** | | **$39** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$29** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Compute usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Compute Hours section, you can see how many hours of a specific Compute size your projects have used during the selected time period. Hover over a specific date for a daily breakdown.
|
||||
|
||||
<Image
|
||||
alt="Usage page Compute Hours section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-compute--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-compute--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Start out on a smaller Compute size, [create a report](https://supabase.com/dashboard/project/_/reports) on the Dashboard to monitor your CPU and memory utilization, and upgrade the Compute size as needed
|
||||
- Load test your application in staging to understand your Compute requirements
|
||||
- [Transfer projects](/docs/guides/platform/project-transfer) to a Free Plan organization to reduce Compute usage
|
||||
- Delete unused projects
|
||||
|
||||
## FAQ
|
||||
|
||||
### Do Compute Credits apply to line items other than Compute?
|
||||
|
||||
No, Compute Credits apply only to Compute and do not cover other line items, including Read Replica Compute and Branching Compute.
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
id: 'manage-usage-custom-domains'
|
||||
title: 'Manage Custom Domain usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You can configure a [custom domain](/docs/guides/platform/custom-domains) for a project by enabling the [Custom Domain add-on](https://supabase.com/dashboard/project/_/settings/addons?panel=customDomain). You are charged for all custom domains configured across your projects.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Custom domains are charged by the hour, meaning you are charged for the exact number of hours that a custom domain is active. If a custom domain is active for part of an hour, you are still charged for the full hour.
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you activate a custom domain for your project. At the end of the billing cycle you are billed for 512 hours.
|
||||
|
||||
| Time Window | Custom Domain Activated | Hours Billed | Description |
|
||||
| ------------------------------------------- | ----------------------- | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | No | 0 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | No | 0 | |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Yes | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Yes | 511 | |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Custom Domain Hours" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
$0.0137 per hour ($10 per month).
|
||||
|
||||
## Billing examples
|
||||
|
||||
### One project
|
||||
|
||||
The project has a custom domain activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| Custom Domain Hours | 744 | $10 |
|
||||
| **Subtotal** | | **$45** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$35** |
|
||||
|
||||
### Multiple projects
|
||||
|
||||
All projects have a custom domain activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| Custom Domain Hours Project 1 | 744 | $10 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 2 | 744 | $10 |
|
||||
| Custom Domain Hours Project 2 | 744 | $10 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$65** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$55** |
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Regularly check your projects and remove custom domains that are no longer needed
|
||||
- Use free [Vanity subdomains](/docs/guides/platform/custom-domains#vanity-subdomains) where applicable
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
id: 'manage-usage-disk-iops'
|
||||
title: 'Manage Disk IOPS usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each database has a dedicated disk, and you are charged for its provisioned disk IOPS. However, unless you explicitly opt in for additional IOPS, no charges apply.
|
||||
|
||||
Refer to our [disk guide](/docs/guides/platform/compute-and-disk#disk) for details on how disk IOPS, disk throughput, disk size, disk type and compute size interact, along with their limitations and constraints.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Launching a Read Replica creates an additional database with its own dedicated disk. Read Replicas inherit the primary database's disk IOPS settings. You are charged for the provisioned IOPS of the Read Replica. Refer to [Manage Read Replica usage](/docs/guides/platform/manage-your-usage/read-replicas) for details on billing.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Disk IOPS is charged by IOPS-Hrs. 1 IOPS-Hr represents 1 IOPS being provisioned for 1 hour. For example, having 10 IOPS provisioned for 5 hours results in 50 IOPS-Hrs (10 IOPS × 5 hours).
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Disk IOPS-Hrs" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
Pricing depends on the [disk type](/docs/guides/platform/compute-and-disk#disk-types), with type gp3 being the default.
|
||||
|
||||
### General purpose disks (gp3)
|
||||
|
||||
$0.00003288 per IOPS-Hr ($0.024 per IOPS per month). gp3 disks come with a default IOPS of 3,000. You are only charged for provisioned IOPS exceeding these 3,000 IOPS.
|
||||
|
||||
| Plan | Included Disk IOPS | Over-Usage per IOPS per month | Over-Usage per IOPS-Hrs |
|
||||
| ---------- | ------------------ | ----------------------------- | ----------------------- |
|
||||
| Pro | 3,000 | $0.024 | $0.00003288 |
|
||||
| Team | 3,000 | $0.024 | $0.00003288 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
|
||||
### High performance disks (io2)
|
||||
|
||||
$0.000163 per IOPS-Hr ($0.119 per IOPS per month).
|
||||
Unlike general purpose disks, high performance disks are billed from the first provisioned IOPS.
|
||||
|
||||
| Plan | Included Disk IOPS | Usage per IOPS per month | Usage per IOPS-Hrs |
|
||||
| ---------- | ------------------ | ------------------------ | ------------------ |
|
||||
| Pro | 0 | $0.119 | $0.000163 |
|
||||
| Team | 0 | $0.119 | $0.000163 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Gp3
|
||||
|
||||
Project 1 doesn't exceed the included IOPS, so no charges for IOPS apply. Project 2 exceeds the included IOPS by 600, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | ---------- | ----------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 hours | $10 |
|
||||
| Disk IOPS Project 1 | 3,000 IOPS | $0 |
|
||||
| | | |
|
||||
| Compute Hours Large Project 2 | 744 hours | $110 |
|
||||
| Disk IOPS Project 2 | 3,600 IOPS | $14.40 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$159.40** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$149.40** |
|
||||
|
||||
### Io2
|
||||
|
||||
This disk type is billed from the first IOPS provisioned, meaning for 8000 IOPS.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | ---------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Large Project 1 | 744 hours | $110 |
|
||||
| Disk IOPS Project 1 | 8,000 IOPS | $952 |
|
||||
| **Subtotal** | | **$1,087** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$1,077** |
|
||||
@@ -0,0 +1,130 @@
|
||||
---
|
||||
id: 'manage-usage-disk-size'
|
||||
title: 'Manage Disk size usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each database has a dedicated [disk](/docs/guides/platform/compute-and-disk#disk). You are charged for the provisioned disk size.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Disk size is not relevant for the Free Plan. Instead Free Plan customers are limited by [Database size](/docs/guides/platform/database-size).
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Disk size is charged by Gigabyte-Hours (GB-Hrs). 1 GB-Hr represents 1 GB being provisioned for 1 hour.
|
||||
For example, having 10 GB provisioned for 5 hours results in 50 GB-Hrs (10 GB × 5 hours).
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Disk Size GB-Hrs" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
Pricing depends on the [disk type](/docs/guides/platform/compute-and-disk#disk-types), with gp3 being the default disk type.
|
||||
|
||||
### General purpose disks (gp3)
|
||||
|
||||
$0.000171 per GB-Hr ($0.125 per GB per month). The primary database of your project gets provisioned with an 8 GB disk. You are only charged for provisioned disk size exceeding these 8 GB.
|
||||
|
||||
| Plan | Included Disk Size | Over-Usage per GB per month | Over-Usage per GB-Hr |
|
||||
| ---------- | ------------------ | --------------------------- | -------------------- |
|
||||
| Pro | 8 GB | $0.125 | $0.000171 |
|
||||
| Team | 8 GB | $0.125 | $0.000171 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Launching a Read Replica creates an additional database with its own dedicated disk. You are charged from the first byte of provisioned disk for the Read Replica. Refer to [Manage Read Replica usage](/docs/guides/platform/manage-your-usage/read-replicas) for details on billing.
|
||||
|
||||
</Admonition>
|
||||
|
||||
### High performance disks (io2)
|
||||
|
||||
$0.000267 per GB-Hr ($0.195 per GB per month).
|
||||
Unlike general purpose disks, high performance disks are billed from the first byte of provisioned disk.
|
||||
|
||||
| Plan | Included Disk size | Usage per GB per month | Usage per GB-Hr |
|
||||
| ---------- | ------------------ | ---------------------- | --------------- |
|
||||
| Pro | 0 GB | $0.195 | $0.000267 |
|
||||
| Team | 0 GB | $0.195 | $0.000267 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Gp3
|
||||
|
||||
Project 1 and 2 don't exceed the included disk size, so no charges for Disk size apply. Project 3 exceeds the included disk size by 42 GB, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 hours | $10 |
|
||||
| Disk Size Project 1 | 8 GB | $0 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 2 | 744 hours | $10 |
|
||||
| Disk Size Project 2 | 8 GB | $0 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 3 | 744 hours | $10 |
|
||||
| Disk Size Project 3 | 50 GB | $5.25 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$50.25** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$40.25** |
|
||||
|
||||
### Io2
|
||||
|
||||
This disk type is billed from the first byte of provisioned disk, meaning for 66 GB across all projects.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 hours | $10 |
|
||||
| Disk Size Project 1 | 8 GB | $1.56 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 2 | 744 hours | $10 |
|
||||
| Disk Size Project 2 | 8 GB | $1.56 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 3 | 744 hours | $10 |
|
||||
| Disk Size Project 3 | 50 GB | $9.75 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$67.87** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$57.87** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Disk size usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Disk size section, you can see how much disk size your projects have provisioned.
|
||||
|
||||
<Image
|
||||
alt="Usage page Disk Size section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-disk-size--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-disk-size--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
### Disk size distribution
|
||||
|
||||
To see how your disk usage is distributed across Database, WAL, and System categories, refer to [Disk size distribution](/docs/guides/platform/database-size#disk-size-distribution).
|
||||
|
||||
## Reduce Disk size
|
||||
|
||||
To see how you can downsize your disk, refer to [Reducing disk size](/docs/guides/platform/database-size#reducing-disk-size)
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
id: 'manage-usage-disk-throughput'
|
||||
title: 'Manage Disk Throughput usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each database has a dedicated disk, and you are charged for its provisioned disk throughput. However, unless you explicitly opt in for additional throughput, no charges apply.
|
||||
|
||||
Refer to our [disk guide](/docs/guides/platform/compute-and-disk#disk) for details on how disk throughput, disk IOPS, disk size, disk type and compute size interact, along with their limitations and constraints.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
Launching a Read Replica creates an additional database with its own dedicated disk. Read Replicas inherit the primary database's disk throughput settings. You are charged for the provisioned throughput of the Read Replica.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Disk throughput is charged by Mbps-Hrs (Mbps stands for megabits per second). 1 Mbps-Hr represents disk throughput of 1 Mbps being provisioned for 1 hour. For example, having 10 Mbps provisioned for 5 hours results in 50 Mbps-Hrs (10 Mbps × 5 hours).
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Disk Throughput Mbps-Hrs" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
Pricing depends on the [disk type](/docs/guides/platform/compute-and-disk#disk-types), with type gp3 being the default.
|
||||
|
||||
### General purpose disks (gp3)
|
||||
|
||||
$0.00013 per Mbps-Hr ($0.095 per Mbps per month). gp3 disks come with a baseline throughput of 125 Mbps. You are only charged for provisioned throughput exceeding these 125 Mbps.
|
||||
|
||||
| Plan | Included Disk Throughput | Over-Usage per Mbps per month | Over-Usage per Mbps-Hrs |
|
||||
| ---------- | ------------------------ | ----------------------------- | ----------------------- |
|
||||
| Pro | 125 Mbps | $0.095 | $0.00013 |
|
||||
| Team | 125 Mbps | $0.095 | $0.00013 |
|
||||
| Enterprise | Custom | Custom | Custom |
|
||||
|
||||
### High performance disks (io2)
|
||||
|
||||
There are no charges. Throughput scales with IOPS at no additional cost.
|
||||
|
||||
## Billing examples
|
||||
|
||||
### No additional throughput configured
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 hours | $10 |
|
||||
| Disk Throughput Project 1 | 125 Mbps | $0 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Additional throughput configured
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ----------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Large Project 1 | 744 hours | $110 |
|
||||
| Disk Throughput Project 1 | 200 Mbps | $7.13 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$142.13** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$132.13** |
|
||||
|
||||
### Additional throughput configured with Read Replica
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ----------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Large Project 1 | 744 hours | $110 |
|
||||
| Disk Throughput Project 1 | 200 Mbps | $7.13 |
|
||||
| | | |
|
||||
| Compute Hours Large Replica | 744 hours | $110 |
|
||||
| Disk Throughput Replica | 200 Mbps | $7.13 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$259.26** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$249.26** |
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
id: 'manage-usage-edge-function-invocations'
|
||||
title: 'Manage Edge Function Invocations usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of times your functions get invoked, regardless of the response status code.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Edge Function Invocations are billed using Package pricing, with each package representing 1 million invocations. If your usage falls between two packages, you are billed for the next whole package.
|
||||
|
||||
### Example
|
||||
|
||||
For simplicity, let's assume a package size of 1 million and a charge of $2 per package without a free quota.
|
||||
|
||||
| Invocations | Packages Billed | Costs |
|
||||
| ----------- | --------------- | ----- |
|
||||
| 999,999 | 1 | $2 |
|
||||
| 1,000,000 | 1 | $2 |
|
||||
| 1,000,001 | 2 | $4 |
|
||||
| 1,500,000 | 2 | $4 |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Function Invocations" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingEdgeFunctions />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's function invocations are within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------- | --------------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Function Invocations | 1,800,000 invocations | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's function invocations exceed the quota by 1.4 million, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------- | --------------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Function Invocations | 3,400,000 invocations | $4 |
|
||||
| **Subtotal** | | **$39** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$29** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Edge Function Invocations usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Edge Function Invocations section, you can see how many invocations your projects have had during the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Edge Function Invocations section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-function-invocations--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-function-invocations--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
@@ -0,0 +1,174 @@
|
||||
---
|
||||
id: 'manage-usage-egress'
|
||||
title: 'Manage Egress usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the network data transmitted out of the system to a connected client. Egress is incurred by all services - Database, Auth, Storage, Edge Functions, Realtime and Log Drains.
|
||||
|
||||
### Database Egress
|
||||
|
||||
Data sent to the client when retrieving data stored in your database.
|
||||
|
||||
**Example:** A user views their order history in an online shop. The client application requests the database to retrieve the user's past orders. The order data is sent back to the client, contributing to Database Egress.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
There are various ways to interact with your database, such as through the PostgREST API using one of the client SDKs or via the Supavisor connection pooler. On the Supabase Dashboard, Egress from the PostgREST API is labeled as **Database Egress**, while Egress through Supavisor is labeled as **Supavisor Egress**.
|
||||
|
||||
</Admonition>
|
||||
|
||||
### Auth Egress
|
||||
|
||||
Data sent from Supabase Auth to the client while managing your application's users. This includes actions like signing in, signing out, or creating new users, e.g. via the JavaScript Client SDK.
|
||||
|
||||
**Example:** A user signs in to an online shop. The client application requests the Supabase Auth service to authenticate and authorize the user. The session data, including authentication tokens and user profile details, is sent back to the client, contributing to Auth Egress.
|
||||
|
||||
### Storage Egress
|
||||
|
||||
Data sent from Supabase Storage to the client when retrieving assets. This includes actions like downloading files, images, or other stored content, e.g. via the JavaScript Client SDK.
|
||||
|
||||
**Example:** A user downloads an invoice from an online shop. The client application requests Supabase Storage to retrieve the PDF file from the storage bucket. The file is sent back to the client, contributing to Storage Egress.
|
||||
|
||||
### Edge Functions Egress
|
||||
|
||||
Data sent to the client when executing Edge Functions.
|
||||
|
||||
**Example:** A user completes a checkout process in an online shop. The client application triggers an Edge Function to process the payment and confirm the order. The confirmation response, along with any necessary details, is sent back to the client, contributing to Edge Functions Egress.
|
||||
|
||||
### Realtime Egress
|
||||
|
||||
Data pushed to clients via Supabase Realtime for subscribed events.
|
||||
|
||||
**Example:** When a user views a product page in an online shop, their client subscribes to real-time inventory updates. As stock levels change, Supabase Realtime pushes updates to all subscribed clients, contributing to Realtime Egress.
|
||||
|
||||
### Log Drain Egress
|
||||
|
||||
Data pushed to the connected log drain.
|
||||
|
||||
**Example:** You set up a log drain, each log sent to the log drain is considered egress. You can toggle the GZIP option to reduce egress, in case your provider supports it.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Egress is charged by gigabyte. Charges apply only for usage exceeding your subscription plan's quota. This quota is called the Unified Egress Quota because it can be used across all services (Database, Auth, Storage etc.).
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Egress GB" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
$0.09 per GB per month. You are only charged for usage exceeding your subscription plan's quota.
|
||||
|
||||
| Plan | Unified Egress Quota | Over-Usage per month |
|
||||
| ---------- | -------------------- | -------------------- |
|
||||
| Free | 5 GB | - |
|
||||
| Pro | 250 GB | $0.09 per GB |
|
||||
| Team | 250 GB | $0.09 per GB |
|
||||
| Enterprise | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's Egress usage is within the quota, so no charges for Egress apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | --------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Egress | 200 GB | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's Egress usage exceeds the quota by 50 GB, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | --------- | --------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Egress | 300 GB | $4.5 |
|
||||
| **Subtotal** | | **$39.5** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$29.5** |
|
||||
|
||||
## View usage
|
||||
|
||||
### Usage page
|
||||
|
||||
You can view Egress usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Total Egress section, you can see the usage for the selected time period. Hover over a specific date to view a breakdown by service.
|
||||
|
||||
<Image
|
||||
alt="Unified Egress"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/unified-egress--light.png',
|
||||
dark: '/docs/img/guides/platform/unified-egress.png',
|
||||
}}
|
||||
/>
|
||||
|
||||
### Custom report
|
||||
|
||||
1. On the [reports page](https://supabase.com/dashboard/project/_/reports), click **New custom report** in the left navigation menu
|
||||
2. After creating a new report, add charts for one or more Supabase services by clicking **Add block**
|
||||
|
||||
<Image
|
||||
alt="Egress report"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/egress-report--light.png',
|
||||
dark: '/docs/img/guides/platform/egress-report--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Debug usage
|
||||
|
||||
To better understand your Egress usage, identify what’s driving the most traffic. Check the most frequent database queries, or analyze the most requested API paths to pinpoint high-bandwidth endpoints.
|
||||
|
||||
### Frequent database queries
|
||||
|
||||
On the Advisors [Query performance view](https://supabase.com/dashboard/project/_/database/query-performance?preset=most_frequent&sort=calls&order=desc) you can see the most frequent queries and the average number of rows returned.
|
||||
|
||||
<Image
|
||||
alt="Most frequent queries"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/advisor-most-frequent-queries--light.png',
|
||||
dark: '/docs/img/guides/platform/advisor-most-frequent-queries--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
### Most requested API endpoints
|
||||
|
||||
In the [Logs Explorer](https://supabase.com/dashboard/project/_/logs/explorer) you can access Edge Logs, and review the top paths to identify heavily queried endpoints. These logs currently do not include response byte data. That data will be available in the future too.
|
||||
|
||||
<Image
|
||||
alt="Top paths"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/logs-top-paths--light.png',
|
||||
dark: '/docs/img/guides/platform/logs-top-paths--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Reduce the number of fields or entries selected when querying your database
|
||||
- Reduce the number of queries or calls by optimizing client code or using caches
|
||||
- For update or insert queries, configure your ORM or queries to not return the entire row if not needed
|
||||
- When running manual backups through Supavisor, remove unneeded tables and/or reduce the frequency
|
||||
- Refer to the [Storage Optimizations guide](/docs/guides/storage/production/scaling#egress) for tips on reducing Storage Egress
|
||||
@@ -0,0 +1,98 @@
|
||||
---
|
||||
id: 'manage-usage-ipv4'
|
||||
title: 'Manage IPv4 usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You can assign a dedicated [IPv4 address](/docs/guides/platform/ipv4-address) to a database by enabling the [IPv4 add-on](https://supabase.com/dashboard/project/_/settings/addons?panel=ipv4). You are charged for all IPv4 addresses configured across your databases.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
If the primary database has a dedicated IPv4 address configured, its Read Replicas are also assigned one, with charges for each.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
IPv4 addresses are charged by the hour, meaning you are charged for the exact number of hours that an IPv4 address is assigned to a database. If an address is assigned for part of an hour, you are still charged for the full hour.
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you enable the IPv4 add-on for your project. At the end of the billing cycle you are billed for 512 hours.
|
||||
|
||||
| Time Window | IPv4 add-on | Hours Billed | Description |
|
||||
| ------------------------------------------- | ----------- | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | Disabled | 0 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | Disabled | 0 | |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Enabled | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Enabled | 511 | |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "IPv4 Hours" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
$0.0055 per hour ($4 per month).
|
||||
|
||||
## Billing examples
|
||||
|
||||
### One project
|
||||
|
||||
The project has the IPv4 add-on enabled throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| IPv4 Hours | 744 | $4 |
|
||||
| **Subtotal** | | **$39** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$29** |
|
||||
|
||||
### Multiple projects
|
||||
|
||||
All projects have the IPv4 add-on enabled throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 | $10 |
|
||||
| IPv4 Hours Project 1 | 744 | $4 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 2 | 744 | $10 |
|
||||
| IPv4 Hours Project 2 | 744 | $4 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 3 | 744 | $10 |
|
||||
| IPv4 Hours Project 3 | 744 | $4 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$67** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$57** |
|
||||
|
||||
### One project with Read Replicas
|
||||
|
||||
The project has two Read Replicas and the IPv4 add-on enabled throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | ------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| | | |
|
||||
| Compute Hours Small Project 1 | 744 | $15 |
|
||||
| IPv4 Hours Project 1 | 744 | $4 |
|
||||
| | | |
|
||||
| Compute Hours Small Replica 1 | 744 | $15 |
|
||||
| IPv4 Hours Replica 1 | 744 | $4 |
|
||||
| | | |
|
||||
| Compute Hours Small Replica 2 | 744 | $15 |
|
||||
| IPv4 Hours Replica 2 | 744 | $4 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$82** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$72** |
|
||||
|
||||
## Optimize usage
|
||||
|
||||
To see whether your database actually needs a dedicated IPv4 address, refer to [When you need the IPv4 add-on](/docs/guides/platform/ipv4-address#when-you-need-the-ipv4-add-on).
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
id: 'manage-usage-log-drains'
|
||||
title: 'Manage Log Drain usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You can configure log drains in the [project settings](https://supabase.com/dashboard/project/_/settings/log-drains) to send logs to one or more destinations. You are charged for each log drain that is configured (referred to as [Log Drain Hours](/docs/guides/platform/manage-your-usage/log-drains#log-drain-hours)), the log events sent (referred to as [Log Drain Events](/docs/guides/platform/manage-your-usage/log-drains#log-drain-events)), and the [Egress](/docs/guides/platform/manage-your-usage/egress) incurred by the export—across all your projects.
|
||||
|
||||
## Log Drain Hours
|
||||
|
||||
### How charges are calculated
|
||||
|
||||
You are charged by the hour, meaning you are charged for the exact number of hours that a log drain is configured for a project. If a log drain is configured for part of an hour, you are still charged for the full hour.
|
||||
|
||||
#### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you configure a log drain for your project. At the end of the billing cycle you are billed for 512 hours.
|
||||
|
||||
| Time Window | Log Drain Configured | Hours Billed | Description |
|
||||
| ------------------------------------------- | -------------------- | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | No | 0 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | No | 0 | |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Yes | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Yes | 511 | |
|
||||
|
||||
#### Usage on your invoice
|
||||
|
||||
Usage is shown as "Log Drain Hours" on your invoice.
|
||||
|
||||
### Pricing
|
||||
|
||||
Log Drains are available as a project Add-On for all Team and Enterprise users. Each Log Drain costs $0.0822 per hour ($60 per month).
|
||||
|
||||
## Log Drain Events
|
||||
|
||||
### How charges are calculated
|
||||
|
||||
Log Drain Events are billed using Package pricing, with each package representing 1 million events. If your usage falls between two packages, you are billed for the next whole package.
|
||||
|
||||
#### Example
|
||||
|
||||
| Events | Packages Billed | Costs |
|
||||
| --------- | --------------- | ----- |
|
||||
| 999,999 | 1 | $0.2 |
|
||||
| 1,000,000 | 1 | $0.2 |
|
||||
| 1,000,001 | 2 | $0.4 |
|
||||
| 1,500,000 | 2 | $0.4 |
|
||||
|
||||
#### Usage on your invoice
|
||||
|
||||
Usage is shown as "Log Drain Events" on your invoice.
|
||||
|
||||
### Pricing
|
||||
|
||||
$0.2 per 1 million events.
|
||||
|
||||
## Billing example
|
||||
|
||||
The project has two log drains configured throughout the entire billing cycle with 800,000 and 1.6 million events each. In this example we assume that the organization is exceeding its Unified Egress Quota, so charges for Egress apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | ------------------ | ----------- |
|
||||
| Team Plan | 1 | $599 |
|
||||
| | | |
|
||||
| Compute Hours Micro Project 1 | 744 hours | $10 |
|
||||
| | | |
|
||||
| Log Drain Hours Drain 1 | 744 hours | $60 |
|
||||
| Log Drain Events Drain 1 | 800,000 events | $0.2 |
|
||||
| Egress Drain 1 | 2 GB | $0.18 |
|
||||
| | | |
|
||||
| Log Drain Hours Drain 2 | 744 hours | $60 |
|
||||
| Log Drain Events Drain 2 | 1.6 million events | $0.4 |
|
||||
| Egress Drain 2 | 4 GB | $0.36 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$730.14** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$720.14** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Log Drain Events usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page usage summary"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-logdrain-events--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-logdrain-events--dark.png',
|
||||
}}
|
||||
/>
|
||||
@@ -0,0 +1,133 @@
|
||||
---
|
||||
id: 'manage-usage-monthly-active-users-sso'
|
||||
title: 'Manage Monthly Active SSO Users usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of distinct users who log in or refresh their token during the billing cycle using a SAML 2.0 compatible identity provider. Each unique user is counted only once per billing cycle, regardless of how many times they authenticate. These users are referred to as "SSO MAUs".
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. Although User-1 was signed in multiple times, they are counted as a single SSO MAU for this billing cycle.
|
||||
|
||||
<StepHikeCompact>
|
||||
<StepHikeCompact.Step step={1}>
|
||||
<StepHikeCompact.Details title="Sign User-1 in on January 3" fullWidth>
|
||||
The SSO MAU count increases from 0 to 1.
|
||||
|
||||
```javascript
|
||||
const { data, error } = await supabase.auth.signInWithSSO({
|
||||
domain: 'company.com'
|
||||
})
|
||||
|
||||
if (data?.url) {
|
||||
// redirect User-1 to the identity provider's authentication flow
|
||||
window.location.href = data.url
|
||||
}
|
||||
```
|
||||
</StepHikeCompact.Details>
|
||||
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
{' '}
|
||||
|
||||
<StepHikeCompact.Step step={2}>
|
||||
<StepHikeCompact.Details title="Sign User-1 out on January 4" fullWidth>
|
||||
```javascript const {error} = await supabase.auth.signOut() ```
|
||||
</StepHikeCompact.Details>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
<StepHikeCompact.Step step={3}>
|
||||
<StepHikeCompact.Details title="Sign User-1 in again on January 17" fullWidth>
|
||||
The SSO MAU count remains 1.
|
||||
|
||||
```javascript
|
||||
const { data, error } = await supabase.auth.signInWithSSO({
|
||||
domain: 'company.com'
|
||||
})
|
||||
|
||||
if (data?.url) {
|
||||
// redirect User-1 to the identity provider's authentication flow
|
||||
window.location.href = data.url
|
||||
}
|
||||
```
|
||||
</StepHikeCompact.Details>
|
||||
|
||||
</StepHikeCompact.Step>
|
||||
</StepHikeCompact>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
You are charged by SSO MAU.
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Monthly Active SSO Users" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMauSso />
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
The count resets at the start of each billing cycle.
|
||||
|
||||
</Admonition>
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | ------ | ------------------ |
|
||||
| Pro | 50 | $0.015 per SSO MAU |
|
||||
| Team | 50 | $0.015 per SSO MAU |
|
||||
| Enterprise | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's SSO MAU usage for the billing cycle is within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------------ | ---------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active SSO Users | 37 SSO MAU | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's SSO MAU usage for the billing cycle exceeds the quota by 10, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------------ | ---------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active SSO Users | 60 SSO MAU | $0.15 |
|
||||
| **Subtotal** | | **$35.15** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25.15** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Monthly Active SSO Users usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Monthly Active SSO Users section, you can see the usage for the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Monthly Active SSO Users section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-mau-sso--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-mau-sso--dark.png',
|
||||
}}
|
||||
/>
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
id: 'manage-usage-monthly-active-users-third-party'
|
||||
title: 'Manage Monthly Active Third-Party Users usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of distinct users who log in or refresh their token during the billing cycle using a third-party authentication provider. Each unique user is counted only once per billing cycle, regardless of how many times they authenticate. These users are referred to as "Third-Party MAUs".
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. Although User-1 was signed in multiple times, they are counted as a single SSO MAU for this billing cycle.
|
||||
|
||||
<StepHikeCompact>
|
||||
<StepHikeCompact.Step step={1}>
|
||||
<StepHikeCompact.Details title="User-1 signs in via Auth0 on January 3">
|
||||
The Third-Party MAU count increases
|
||||
from 0 to 1.
|
||||
</StepHikeCompact.Details>
|
||||
<StepHikeCompact.Code>
|
||||
<Image
|
||||
alt="Third-Party MAU login screen"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/third-party-mau-auth0-login-screen.png',
|
||||
dark: '/docs/img/guides/platform/third-party-mau-auth0-login-screen.png',
|
||||
}}
|
||||
className="max-h-[190px]"
|
||||
zoomable
|
||||
/>
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
{' '}
|
||||
|
||||
<StepHikeCompact.Step step={2}>
|
||||
<StepHikeCompact.Details title="User-1 signs out on January 4." />
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
<StepHikeCompact.Step step={3}>
|
||||
<StepHikeCompact.Details title="User-1 signs in via Auth0 again on January 17">
|
||||
The Third-Party MAU count remains 1.
|
||||
</StepHikeCompact.Details>
|
||||
<StepHikeCompact.Code>
|
||||
<Image
|
||||
alt="Third-Party MAU login screen"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/third-party-mau-auth0-login-screen.png',
|
||||
dark: '/docs/img/guides/platform/third-party-mau-auth0-login-screen.png',
|
||||
}}
|
||||
className="max-h-[190px]"
|
||||
zoomable
|
||||
/>
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
</StepHikeCompact>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
You are charged by Third-Party MAU.
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Monthly Active Third-Party Users" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMauThirdParty />
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
The count resets at the start of each billing cycle.
|
||||
|
||||
</Admonition>
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | ------ | ---------------------------- |
|
||||
| Free | 50 | - |
|
||||
| Pro | 50 | $0.00325 per Third-Party MAU |
|
||||
| Team | 50 | $0.00325 per Third-Party MAU |
|
||||
| Enterprise | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's Third-Party MAU usage for the billing cycle is within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------------------- | ------------------ | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active Third-Party Users | 37 Third-Party MAU | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's Third-Party MAU usage for the billing cycle exceeds the quota by 4950, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------------------- | -------------------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active Third-Party Users | 5000 Third-Party MAU | $16.09 |
|
||||
| **Subtotal** | | **$51.09** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$41.09** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Monthly Active Third-Party Users usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Monthly Active SSO Users section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-mau-third-party--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-mau-third-party--dark.png',
|
||||
}}
|
||||
/>
|
||||
@@ -0,0 +1,126 @@
|
||||
---
|
||||
id: 'manage-usage-monthly-active-users'
|
||||
title: 'Manage Monthly Active Users usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of distinct users who log in or refresh their token during the billing cycle. Each unique user is counted only once per billing cycle, regardless of how many times they authenticate. These users are referred to as "MAUs".
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. Although User-1 was signed in multiple times, they are counted as a single MAU for this billing cycle.
|
||||
|
||||
<StepHikeCompact>
|
||||
<StepHikeCompact.Step step={1}>
|
||||
<StepHikeCompact.Details title="Sign User-1 in on January 3" fullWidth>
|
||||
The MAU count increases from 0 to 1.
|
||||
|
||||
```javascript
|
||||
const {data, error} = await supabase.auth.signInWithPassword({
|
||||
email: 'user-1@email.com',
|
||||
password: 'example-password-1',
|
||||
})
|
||||
```
|
||||
</StepHikeCompact.Details>
|
||||
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
{' '}
|
||||
|
||||
<StepHikeCompact.Step step={2}>
|
||||
<StepHikeCompact.Details title="Sign User-1 out on January 4" fullWidth>
|
||||
```javascript const {error} = await supabase.auth.signOut() ```
|
||||
</StepHikeCompact.Details>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
<StepHikeCompact.Step step={3}>
|
||||
<StepHikeCompact.Details title="Sign User-1 in again on January 17" fullWidth>
|
||||
The MAU count remains 1.
|
||||
|
||||
```javascript
|
||||
const {data, error} = await supabase.auth.signInWithPassword({
|
||||
email: 'user-1@email.com',
|
||||
password: 'example-password-1',
|
||||
})
|
||||
```
|
||||
</StepHikeCompact.Details>
|
||||
|
||||
</StepHikeCompact.Step>
|
||||
</StepHikeCompact>
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
You are charged by MAU.
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Monthly Active Users" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingMau />
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
The count resets at the start of each billing cycle.
|
||||
|
||||
</Admonition>
|
||||
|
||||
| Plan | Quota | Over-Usage |
|
||||
| ---------- | ------- | ---------------- |
|
||||
| Free | 50,000 | - |
|
||||
| Pro | 100,000 | $0.00325 per MAU |
|
||||
| Team | 100,000 | $0.00325 per MAU |
|
||||
| Enterprise | Custom | Custom |
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's MAU usage for the billing cycle is within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------- | ---------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active Users | 23,000 MAU | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's MAU usage for the billing cycle exceeds the quota by 60,000, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| -------------------- | ----------- | -------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Monthly Active Users | 160,000 MAU | $195 |
|
||||
| **Subtotal** | | **$230** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$220** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Monthly Active Users usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Monthly Active Users section, you can see the usage for the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Monthly Active Users section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-mau--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-mau--dark.png',
|
||||
}}
|
||||
/>
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
id: 'manage-usage-point-in-time-recovery'
|
||||
title: 'Manage Point-in-Time Recovery usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You can configure [Point-in-Time Recovery (PITR)](/docs/guides/platform/backups#point-in-time-recovery) for a project by enabling the [PITR add-on](https://supabase.com/dashboard/project/_/settings/addons?panel=pitr). You are charged for every enabled PITR add-on across your projects.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
PITR is charged by the hour, meaning you are charged for the exact number of hours that PITR is active for a project. If PITR is active for part of an hour, you are still charged for the full hour.
|
||||
|
||||
### Example
|
||||
|
||||
Your billing cycle runs from January 1 to January 31. On January 10 at 4:30 PM, you activate PITR for your project. At the end of the billing cycle you are billed for 512 hours.
|
||||
|
||||
| Time Window | PITR Activated | Hours Billed | Description |
|
||||
| ------------------------------------------- | -------------- | ------------ | ------------------- |
|
||||
| January 1, 00:00 AM - January 10, 4:00 PM | No | 0 | |
|
||||
| January 10, 04:00 PM - January 10, 4:30 PM | No | 0 | |
|
||||
| January 10, 04:30 PM - January 10, 5:00 PM | Yes | 1 | full hour is billed |
|
||||
| January 10, 05:00 PM - January 31, 23:59 PM | Yes | 511 | |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Point-in-time recovery Hours" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingPitr />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### One project
|
||||
|
||||
The project has PITR with a recovery retention period of 7 days activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | -------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| Compute Hours Small Project 1 | 744 | $15 |
|
||||
| PITR Hours | 744 | $100 |
|
||||
| **Subtotal** | | **$140** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$130** |
|
||||
|
||||
### Multiple projects
|
||||
|
||||
All projects have PITR with a recovery retention period of 14 days activated throughout the entire billing cycle.
|
||||
|
||||
| Line Item | Hours | Costs |
|
||||
| ----------------------------- | ----- | -------- |
|
||||
| Pro Plan | - | $25 |
|
||||
| | | |
|
||||
| Compute Hours Small Project 1 | 744 | $15 |
|
||||
| PITR Hours Project 1 | 744 | $200 |
|
||||
| | | |
|
||||
| Compute Hours Small Project 2 | 744 | $15 |
|
||||
| PITR Hours Project 2 | 744 | $200 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$455** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$445** |
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Review your [backup frequency](/docs/guides/platform/backups#frequency-of-backups) needs to determine whether you require PITR or free Daily Backups are sufficient
|
||||
- Regularly check your projects and disable PITR where no longer needed
|
||||
- Consider disabling PITR for non-production databases
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
id: 'manage-usage-read-replicas'
|
||||
title: 'Manage Read Replica usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Each [Read Replica](/docs/guides/platform/read-replicas) is a dedicated database. You are charged for its resources: [Compute](/docs/guides/platform/compute-and-disk#compute), [Disk Size](/docs/guides/platform/database-size#disk-size), provisioned [Disk IOPS](/docs/guides/platform/compute-and-disk#provisioned-disk-throughput-and-iops), provisioned [Disk Throughput](/docs/guides/platform/compute-and-disk#provisioned-disk-throughput-and-iops), and [IPv4](/docs/guides/platform/ipv4-address).
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Read Replica charges are the total of the charges listed below.
|
||||
|
||||
**Compute**
|
||||
Compute is charged by the hour, meaning you are charged for the exact number of hours that a Read Replica is running and, therefore, incurring Compute usage. If a Read Replica runs for part of an hour, you are still charged for the full hour.
|
||||
|
||||
Read Replicas run on the same Compute size as the primary database.
|
||||
|
||||
**Disk Size**
|
||||
Refer to [Manage Disk Size usage](/docs/guides/platform/manage-your-usage/disk-size) for details on how charges are calculated. The disk size of a Read Replica is 1.25x the size of the primary disk to account for WAL archives. With a Read Replica you go beyond your subscription plan's quota for Disk Size.
|
||||
|
||||
**Provisioned Disk IOPS (optional)**
|
||||
Read Replicas inherit any additional provisioned Disk IOPS from the primary database. Refer to [Manage Disk IOPS usage](/docs/guides/platform/manage-your-usage/disk-iops) for details on how charges are calculated.
|
||||
|
||||
**Provisioned Disk Throughput (optional)**
|
||||
Read Replicas inherit any additional provisioned Disk Throughput from the primary database. Refer to [Manage Disk Throughput usage](/docs/guides/platform/manage-your-usage/disk-throughput) for details on how charges are calculated.
|
||||
|
||||
**IPv4 (optional)**
|
||||
If the primary database has a configured IPv4 address, its Read Replicas are also assigned one, with charges for each. Refer to [Manage IPv4 usage](/docs/guides/platform/manage-your-usage/ipv4) for details on how charges are calculated.
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Compute incurred by Read Replicas is shown as "Replica Compute Hours" on your invoice. Disk Size, Disk IOPS, Disk Throughput and IPv4 are not shown separately for Read Replicas and are rolled up into the project.
|
||||
|
||||
## Billing examples
|
||||
|
||||
### No additional resources configured
|
||||
|
||||
The project has one Read Replica and no IPv4 and no additional Disk IOPS and Disk Throughput configured.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ---------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Small Project 1 | 744 hours | $15 |
|
||||
| Disk Size Project 1 | 8 GB | $0 |
|
||||
| | | |
|
||||
| Compute Hours Small Replica | 744 hours | $15 |
|
||||
| Disk Size Replica | 10 GB | $1.25 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$56.25** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$46.25** |
|
||||
|
||||
### Additional resources configured
|
||||
|
||||
The project has two Read Replicas and IPv4 and additional Disk IOPS and Disk Throughput configured.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ----------------------------- | --------- | ----------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| | | |
|
||||
| Compute Hours Large Project 1 | 744 hours | $110 |
|
||||
| Disk Size Project 1 | 8 GB | $0 |
|
||||
| Disk IOPS Project 1 | 3600 | $14.40 |
|
||||
| Disk Throughput Project 1 | 200 Mbps | $7.13 |
|
||||
| IPv4 Hours Project 1 | 744 hours | $4 |
|
||||
| | | |
|
||||
| Compute Hours Large Replica 1 | 744 hours | $110 |
|
||||
| Disk Size Replica 1 | 10 GB | $1.25 |
|
||||
| Disk IOPS Replica 1 | 3600 | $14.40 |
|
||||
| Disk Throughput Replica 1 | 200 Mbps | $7.13 |
|
||||
| IPv4 Hours Replica 1 | 744 hours | $4 |
|
||||
| | | |
|
||||
| Compute Hours Large Replica 2 | 744 hours | $110 |
|
||||
| Disk Size Replica 2 | 10 GB | $1.25 |
|
||||
| Disk IOPS Replica 2 | 3600 | $14.40 |
|
||||
| Disk Throughput Replica 2 | 200 Mbps | $7.13 |
|
||||
| IPv4 Hours Replica 2 | 744 hours | $4 |
|
||||
| | | |
|
||||
| **Subtotal** | | **$434.09** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$424.09** |
|
||||
|
||||
## FAQ
|
||||
|
||||
### Do Compute Credits apply to Read Replica Compute?
|
||||
|
||||
No, Compute Credits do not apply to Read Replica Compute.
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
id: 'manage-usage-realtime-messages'
|
||||
title: 'Manage Realtime Messages usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of messages going through Supabase Realtime throughout the billing cycle. Includes database changes, Broadcast and Presence.
|
||||
|
||||
**Database changes**
|
||||
Each database change counts as one message per client that listens to the event. For example, if a database change occurs and 5 clients listen to that database event, it counts as 5 messages.
|
||||
|
||||
**Broadcast**
|
||||
Each broadcast message counts as one message sent plus one message per subscribed client that receives it. For example, if you broadcast a message and 4 clients listen to it, it counts as 5 messages—1 sent and 4 received.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Realtime Messages are billed using Package pricing, with each package representing 1 million messages. If your usage falls between two packages, you are billed for the next whole package.
|
||||
|
||||
### Example
|
||||
|
||||
For simplicity, let's assume a package size of 1,000,000 and a charge of $2.50 per package without quota.
|
||||
|
||||
| Messages | Packages Billed | Costs |
|
||||
| --------- | --------------- | ----- |
|
||||
| 999,999 | 1 | $2.50 |
|
||||
| 1,000,000 | 1 | $2.50 |
|
||||
| 1,000,001 | 2 | $5.00 |
|
||||
| 1,500,000 | 2 | $5.00 |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Realtime Messages" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingRealtimeMessages />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's Realtime messages are within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | -------------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Realtime Messages | 1.8 million messages | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's Realtime messages exceed the quota by 3.5 million, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | -------------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Realtime Messages | 8.5 million messages | $10 |
|
||||
| **Subtotal** | | **$45** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$35** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Realtime Messages usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Realtime Messages section, you can see the usage for the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Realtime Messages section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-realtime-messages--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-realtime-messages--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
id: 'manage-usage-realtime-peak-connections'
|
||||
title: 'Manage Realtime Peak Connections usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
Realtime Peak Connections are measured by tracking the highest number of concurrent connections for each project during the billing cycle. Regardless of fluctuations, only the peak count per project is used for billing, and the totals from all projects are summed. Only successful connections are counted, connection attempts are not included.
|
||||
|
||||
### Example
|
||||
|
||||
For simplicity, this example assumes a billing cycle of only three days.
|
||||
|
||||
| Project | Peak Connections Day 1 | Peak Connections Day 2 | Peak Connections Day 3 |
|
||||
| --------- | ---------------------- | ---------------------- | ---------------------- |
|
||||
| Project A | 80 | 100 | 90 |
|
||||
| Project B | 120 | 110 | 150 |
|
||||
|
||||
**Total billed connections:** 100 (Project A) + 150 (Project B) = **250 connections**
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Realtime Peak Connections are billed using Package pricing, with each package representing 1,000 peak connections. If your usage falls between two packages, you are billed for the next whole package.
|
||||
|
||||
### Example
|
||||
|
||||
For simplicity, let's assume a package size of 1,000 and a charge of $10 per package with no quota.
|
||||
|
||||
| Peak Connections | Packages Billed | Costs |
|
||||
| ---------------- | --------------- | ----- |
|
||||
| 999 | 1 | $10 |
|
||||
| 1,000 | 1 | $10 |
|
||||
| 1,001 | 2 | $20 |
|
||||
| 1,500 | 2 | $20 |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Realtime Peak Connections" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingRealtimeConnections />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's connections are within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------------- | --------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Realtime Peak Connections | 350 connections | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's connections exceed the quota by 1,200, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------------- | ----------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Realtime Peak Connections | 1,700 connections | $20 |
|
||||
| **Subtotal** | | **$45** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$35** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Realtime Peak Connections usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Realtime Peak Connections section, you can see the usage for the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Realtime Peak Connections section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-realtime-peak-connections--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-realtime-peak-connections--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
@@ -0,0 +1,130 @@
|
||||
---
|
||||
id: 'manage-usage-storage-image-transformations'
|
||||
title: 'Manage Storage Image Transformations usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the number of distinct images transformed during the billing period, regardless of how many transformations each image undergoes. We refer to these images as "origin" images.
|
||||
|
||||
### Example
|
||||
|
||||
With these four transformations applied to `image-1.jpg` and `image-2.jpg`, the origin images count is 2.
|
||||
|
||||
```javascript
|
||||
supabase.storage.from('bucket').createSignedUrl('image-1.jpg', 60000, {
|
||||
transform: {
|
||||
width: 200,
|
||||
height: 200,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```javascript
|
||||
supabase.storage.from('bucket').createSignedUrl('image-2.jpg', 60000, {
|
||||
transform: {
|
||||
width: 400,
|
||||
height: 300,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```javascript
|
||||
supabase.storage.from('bucket').createSignedUrl('image-2.jpg', 60000, {
|
||||
transform: {
|
||||
width: 600,
|
||||
height: 250,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```javascript
|
||||
supabase.storage.from('bucket').download('image-2.jpg', {
|
||||
transform: {
|
||||
width: 800,
|
||||
height: 300,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Storage Image Transformations are billed using Package pricing, with each package representing 1000 origin images. If your usage falls between two packages, you are billed for the next whole package.
|
||||
|
||||
### Example
|
||||
|
||||
For simplicity, let's assume a package size of 1,000 and a charge of $5 per package with no quota.
|
||||
|
||||
| Origin Images | Packages Billed | Costs |
|
||||
| ------------- | --------------- | ----- |
|
||||
| 999 | 1 | $5 |
|
||||
| 1,000 | 1 | $5 |
|
||||
| 1,001 | 2 | $10 |
|
||||
| 1,500 | 2 | $10 |
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Storage Image Transformations" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingStorageImageTransformations />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's number of origin images for the billing cycle is within the quota, so no charges apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| --------------------- | ---------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Image Transformations | 74 origin images | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's number of origin images for the billing cycle exceeds the quota by 750, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| --------------------- | ----------------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Image Transformations | 850 origin images | $5 |
|
||||
| **Subtotal** | | **$40** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$30** |
|
||||
|
||||
## View usage
|
||||
|
||||
You can view Storage Image Transformations usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Storage Image Transformations section, you can see how many origin images were transformed during the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Storage Image Transformations section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-image-transformations--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-image-transformations--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- Pre-generate common variants – instead of transforming images on the fly, generate and store commonly used sizes in advance
|
||||
- Optimize original image sizes – upload images in an optimized format and resolution to reduce the need for excessive transformations
|
||||
- Leverage [Smart CDN](/docs/guides/storage/cdn/smart-cdn) caching or any other caching solution to serve transformed images efficiently and avoid unnecessary repeated transformations
|
||||
- Control how long assets are stored in the browser using the `Cache-Control` header
|
||||
@@ -0,0 +1,121 @@
|
||||
---
|
||||
id: 'manage-usage-storage-size'
|
||||
title: 'Manage Storage size usage'
|
||||
---
|
||||
|
||||
## What you are charged for
|
||||
|
||||
You are charged for the total size of all assets in your buckets.
|
||||
|
||||
## How charges are calculated
|
||||
|
||||
Storage size is charged by Gigabyte-Hours (GB-Hrs). 1 GB-Hr represents the use of 1 GB of storage for 1 hour.
|
||||
For example, storing 10 GB of data for 5 hours results in 50 GB-Hrs (10 GB × 5 hours).
|
||||
|
||||
### Usage on your invoice
|
||||
|
||||
Usage is shown as "Storage Size GB-Hrs" on your invoice.
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingStorageSize />
|
||||
|
||||
## Billing examples
|
||||
|
||||
### Within quota
|
||||
|
||||
The organization's Storage size usage is within the quota, so no charges for Storage size apply.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | --------- | ------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Storage Size | 85 GB | $0 |
|
||||
| **Subtotal** | | **$35** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$25** |
|
||||
|
||||
### Exceeding quota
|
||||
|
||||
The organization's Storage size usage exceeds the quota by 257 GB, incurring charges for this additional usage.
|
||||
|
||||
| Line Item | Units | Costs |
|
||||
| ------------------- | --------- | --------- |
|
||||
| Pro Plan | 1 | $25 |
|
||||
| Compute Hours Micro | 744 hours | $10 |
|
||||
| Storage Size | 357 GB | $5.4 |
|
||||
| **Subtotal** | | **$40.4** |
|
||||
| Compute Credits | | -$10 |
|
||||
| **Total** | | **$30.4** |
|
||||
|
||||
## View usage
|
||||
|
||||
### Usage page
|
||||
|
||||
You can view Storage size usage on the [organization's usage page](https://supabase.com/dashboard/org/_/usage). The page shows the usage of all projects by default. To view the usage for a specific project, select it from the dropdown. You can also select a different time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page navigation bar"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-navbar--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-navbar--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
In the Storage size section, you can see how much storage your projects have used during the selected time period.
|
||||
|
||||
<Image
|
||||
alt="Usage page Storage Size section"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/usage-storage-size--light.png',
|
||||
dark: '/docs/img/guides/platform/usage-storage-size--dark.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
### SQL Editor
|
||||
|
||||
Since we designed Storage to work as an integrated part of your Postgres database on Supabase, you can query information about your Storage objects in the `storage` schema.
|
||||
|
||||
List files larger than 5 MB:
|
||||
|
||||
```sql
|
||||
select
|
||||
name,
|
||||
bucket_id as bucket,
|
||||
case
|
||||
when (metadata->>'size')::int >= 1073741824 then
|
||||
((metadata->>'size')::int / 1073741824.0)::numeric(10, 2) || ' GB'
|
||||
when (metadata->>'size')::int >= 1048576 then
|
||||
((metadata->>'size')::int / 1048576.0)::numeric(10, 2) || ' MB'
|
||||
when (metadata->>'size')::int >= 1024 then
|
||||
((metadata->>'size')::int / 1024.0)::numeric(10, 2) || ' KB'
|
||||
else
|
||||
(metadata->>'size')::int || ' bytes'
|
||||
end as size
|
||||
from
|
||||
storage.objects
|
||||
where
|
||||
(metadata->>'size')::int > 1048576 * 5
|
||||
order by (metadata->>'size')::int desc
|
||||
```
|
||||
|
||||
List buckets with their total size:
|
||||
|
||||
```sql
|
||||
select
|
||||
bucket_id,
|
||||
(sum((metadata->>'size')::int) / 1048576.0)::numeric(10, 2) as total_size_megabyte
|
||||
from
|
||||
storage.objects
|
||||
group by
|
||||
bucket_id
|
||||
order by
|
||||
total_size_megabyte desc;
|
||||
```
|
||||
|
||||
## Optimize usage
|
||||
|
||||
- [Limit the upload size](/docs/guides/storage/production/scaling#limit-the-upload-size) for your buckets
|
||||
- [Delete assets](/docs/guides/storage/management/delete-objects) that are no longer in use
|
||||
@@ -1,230 +0,0 @@
|
||||
---
|
||||
id: 'organization-based-billing'
|
||||
title: 'How billing works'
|
||||
description: 'Learn how billing works in Supabase.'
|
||||
subtitle: 'Learn how billing works in Supabase.'
|
||||
---
|
||||
|
||||
Our goal at Supabase is to provide a _predictable_ billing system that grows with you.
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
If you’re using Vercel Marketplace, see the [Vercel Marketplace Pricing](/docs/guides/platform/vercel-marketplace#pricing) section.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## How billing is organized
|
||||
|
||||
The Supabase Platform has "organizations" and "projects". An organization may contain multiple projects. Each project is a dedicated Postgres and Supabase instance with all of its sub-services including Storage, Auth, Functions and Realtime. For example:
|
||||
|
||||
- `Organization 1`
|
||||
- `Project 1` (Postgres, Data API, Auth, Storage, Functions, Realtime)
|
||||
- `Project 2` (Postgres, Data API, Auth, Storage, Functions, Realtime)
|
||||
- `Organization 2`
|
||||
- `Project 3` (Postgres, Data API, Auth, Storage, Functions, Realtime)
|
||||
|
||||
Each organization only has a single subscription with a single Plan (Free, Pro, Team or Enterprise). Project add-ons such as [Compute](/docs/guides/platform/compute-add-ons), [IPv4](/docs/guides/platform/ipv4-address), [Log Drains](/docs/guides/platform/log-drains), [Advanced MFA](/docs/guides/auth/auth-mfa/phone), [Custom Domains](/docs/guides/platform/custom-domains) and [PITR](/docs/guides/platform/backups#point-in-time-recovery) are still configured per project and are bundled into your organization subscription.
|
||||
|
||||
<Image
|
||||
alt="Billing Overview"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/billing-overview--light.png',
|
||||
dark: '/docs/img/guides/platform/billing-overview.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
## Quotas and features
|
||||
|
||||
Quotas and features are applied to your entire organization, independent of how many projects you launch within that organization. For billing purposes, we sum the usage across all projects in a monthly invoice.
|
||||
|
||||
Upgrading your organization to a paid plan means that you unlock the benefits of the paid plan for **all** projects within that organization - for example, no projects in your "Pro" organization will be paused. See [pricing page](https://supabase.com/pricing) for details on all plans.
|
||||
|
||||
It is not possible to mix different plans inside a single organization. You cannot have one Pro Plan project and one Free Plan project inside a single organization. To have projects on different plans, you'll need to create different organizations. Also see [Project Transfers](/docs/guides/platform/project-transfer) in case you're looking to transfer a project to a different organization.
|
||||
|
||||
### Usage items
|
||||
|
||||
| Metric | Free | Pro/Team | Enterprise |
|
||||
| -------------------------------- | ------------------------ | ------------------------------------------------- | ---------- |
|
||||
| Egress | 5GB | 250GB included, then $0.09 per GB | Custom |
|
||||
| Database Size | 500MB | 8GB disk per project included, then $0.125 per GB | Custom |
|
||||
| Storage Size | 1GB | 100GB included, then $0.021 per GB | Custom |
|
||||
| Monthly Active Users | 50,000 MAU | 100,000 MAU included, then $0.00325 per MAU | Custom |
|
||||
| Monthly Active Third-Party Users | 50 MAU | 50 MAU included, then $0.00325 per MAU | Custom |
|
||||
| Monthly Active SSO Users | - | 50 MAU included, then $0.015 per MAU | Custom |
|
||||
| Function Invocations | 500K | 2 million included, then $2 per million | Custom |
|
||||
| Function Count | 25 | 500/1000 | Unlimited |
|
||||
| Storage Images Transformed | Unavailable on Free Plan | 100 included, then $5 per 1000 | Custom |
|
||||
| Realtime Message Count | 2 million | 5 million included, then $2.5 per million | Custom |
|
||||
| Realtime Peak Connections | 200 | 500 included, then $10 per 1000 | Custom |
|
||||
| Log Drain Events | - | - / $0.20 per Million Events | Custom |
|
||||
|
||||
## Billing for Compute (Compute Hours)
|
||||
|
||||
Supabase provides a dedicated server and database for every project. By default, your instance runs on the Micro Compute instance. You can upgrade your compute size in your [project settings](https://supabase.com/dashboard/project/_/settings/addons).
|
||||
|
||||
Given we provide dedicated databases on paid plans that have 24/7 uptime and predictable performance, you pay the same amount for compute independent of your database usage. An active project on the Small compute size running for 30 days consumes 720 (30x24h) Small Compute Hours.
|
||||
|
||||
You won't get an immediate charge upfront when changing compute, instead we'll bill you based on compute hours when your billing cycle resets. If you launch a second or third instance on your paid plan, we add the additional compute hours to the final invoice. If you upgrade an instance for 24 hours, you'll only be billed for those 24 hours of additional compute. Compute hours are billed when you do plan up/downgrades (resets the billing cycle) or whenever your billing cycle resets once a month.
|
||||
|
||||
<Admonition type="note" label="Paused projects">
|
||||
|
||||
We only count compute hours for instances that are active. Paused projects do not count towards compute usage.
|
||||
|
||||
</Admonition>
|
||||
|
||||
### Compute pricing
|
||||
|
||||
| Compute Size | Hourly Price | Estimated Monthly Price |
|
||||
| ------------ | ------------ | ----------------------- |
|
||||
| Micro | $0.01344 | ~$10 |
|
||||
| Small | $0.0206 | ~$15 |
|
||||
| Medium | $0.0822 | ~$60 |
|
||||
| Large | $0.1517 | ~$110 |
|
||||
| XL | $0.2877 | ~$210 |
|
||||
| 2XL | $0.562 | ~$410 |
|
||||
| 4XL | $1.32 | ~$960 |
|
||||
| 8XL | $2.562 | ~$1870 |
|
||||
| 12XL | $3.836 | ~$2800 |
|
||||
| 16XL | $5.12 | ~$3730 |
|
||||
|
||||
### Compute credits
|
||||
|
||||
Paid plans come with $10 of Compute Credits to cover one Micro instance or parts of any other [Compute Add-On](/docs/guides/platform/compute-add-ons).
|
||||
|
||||
Compute Credits are deducted from your Compute Usage. You can launch as many instances as you want on paid plans and we'll bill based on the compute hours.
|
||||
|
||||
Compute Credits do not apply to other usage fees like egress, disk size, ... They solely apply to Compute usage.
|
||||
|
||||
Additionally, Compute Credits are given to you not only for the first month but for every month while you are on a paid plan. They reset every month and do not accumulate.
|
||||
|
||||
### Read Replicas
|
||||
|
||||
In case of deploying [Read Replicas](/docs/guides/platform/read-replicas), each replica is a dedicated database that adds additional compute hours and disk size usage.
|
||||
|
||||
Each replica incurs one compute hour on the given compute size. An example:
|
||||
|
||||
A primary database on XL compute and two read replicas on XL compute would incur ~2.190 XL compute hours (3x 730h) and cost ~$630/month.
|
||||
|
||||
The disk size of a replica instance is usually 1.25x the size of the primary disk to account for WAL archives
|
||||
|
||||
## Project Add-ons
|
||||
|
||||
While the subscription plan (Free, Pro, Team or Enterprise) applies to your entire organization and is only charged for once, you can level up your project by opting into several add-ons:
|
||||
|
||||
- [Compute](/docs/guides/platform/compute-add-ons) to scale your database up to 64 cores and 256 GB RAM
|
||||
- [Read Replicas](/docs/guides/platform/read-replicas) to scale read operations and provide resiliency
|
||||
- [Log Drains](/docs/guides/platform/log-drains) to sync Supabase logs to a logging system of your choice
|
||||
- [Custom Domains](/docs/guides/platform/custom-domains) to provide a branded experience
|
||||
- [PITR](/docs/guides/platform/backups#point-in-time-recovery) to roll back to any specific point in time, down to the minute
|
||||
- [IPv4](/docs/guides/platform/ipv4-address) for a dedicated IPv4 address
|
||||
- [Advanced MFA](/docs/guides/auth/auth-mfa/phone) to provide other options than TOTP
|
||||
|
||||
Project add-ons are charged by the hour at the end of your billing cycle. I.e. if you enable a log drain for two weeks, you will pay for 336 hours (14 days \* 24 hours).
|
||||
|
||||
## Unified egress
|
||||
|
||||
Each organization receives a total egress quota (e.g. 250GB on the Pro Plan) which can be used for anything - Storage, Realtime, Auth, Functions, Supavisor, Log Drains or Database.
|
||||
|
||||
### Included egress quota
|
||||
|
||||
Each plan includes a quota for unified egress, which is applied to your entire organization.
|
||||
|
||||
| Plan | Total Egress Quota | Over-Usage |
|
||||
| ---------- | ------------------ | ------------ |
|
||||
| Free | 5 GB | - |
|
||||
| Pro | 250 GB | $0.09 per GB |
|
||||
| Team | 250 GB | $0.09 per GB |
|
||||
| Enterprise | Custom | Custom |
|
||||
|
||||
### Egress dashboards
|
||||
|
||||
You can see a breakdown of the different types of egress on your [organization usage page](https://supabase.com/dashboard/org/_/usage).
|
||||
|
||||
<div>
|
||||
<Image
|
||||
alt="Unified Egress"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/unified-egress--light.png',
|
||||
dark: '/docs/img/guides/platform/unified-egress.png',
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Disk size
|
||||
|
||||
We differentiate between database size and disk size. Database size is the actual amount of space used by all your database objects, whereas disk size is the size of the underlying provisioned disk. Each database has a provisioned disk.
|
||||
|
||||
Free Plan customers are limited to 500 MB of database size per project.
|
||||
|
||||
For paid plan customers:
|
||||
|
||||
- Each project starts with 8 GB GP3 disk provisioned by default
|
||||
- The first 8 GB of provisioned disk per project is free, then $0.125 per additional GB
|
||||
- Charges are prorated down to the hour, which is advantageous for short-lived projects and branches
|
||||
- Each read replica has a provisioned disk as well, which adds to your disk usage
|
||||
|
||||
When your data gets close to the 8 GB disk size limit, we automatically scale it by 50% on paid plans to ensure your project does not run into a read-only mode. Each hour your disk is beyond the included 8 GB, it incurs one GB-Hr of usage. With a 12 GB provisioned disk (4 GB above the limit), this would incur a total monthly cost of $0.5 ($0.125 per GB / $0.000171 per GB-Hr). Disk Size is prorated down to the hour, so your bill will show "Disk Size GB-Hrs".
|
||||
|
||||
You can see your project’s disk size in your [project settings](https://supabase.com/dashboard/project/_/settings/database) (Project Settings > Database).
|
||||
|
||||
While we automatically scale up your disk, we do not automatically scale down your disk. Read more about [disk management](/docs/guides/platform/database-size#disk-management) and how to [reduce your disk size](/docs/guides/platform/database-size#reducing-disk-size).
|
||||
|
||||
## Free Plan
|
||||
|
||||
Supabase provides two "Free projects". Each project can run a `Nano` instance for free. This is a great way to get started with Supabase and try out the platform.
|
||||
|
||||
We count your total limit of 2 free projects across all organizations you're either an Owner or Administrator of. You could have two Free Plan organizations with one project each, or one Free Plan organization with two projects. Paused projects do not count towards your free project limit.
|
||||
|
||||
## Billing examples
|
||||
|
||||
Here are some examples on how the Billing affects you.
|
||||
|
||||
### Multiple projects in a Free Plan organization
|
||||
|
||||
Here are the quotas for the Free Plan:
|
||||
|
||||
| Usage Item | Free Plan |
|
||||
| ------------------------- | ----------------------------- |
|
||||
| Egress | 5GB across Database + Storage |
|
||||
| Database Size | 500MB |
|
||||
| Storage Space | 1GB |
|
||||
| Monthly Active Users | 50,000 MAU |
|
||||
| Edge Function Invocations | 500K |
|
||||
| Edge Function Count | 25 |
|
||||
| Realtime Message Count | 2 million |
|
||||
| Realtime Peak Connections | 200 |
|
||||
| Max of 2 free projects\* |
|
||||
|
||||
The quota applies to the entire organization, i.e. you can have a total of 5GB egress (sum of all projects egress combined).
|
||||
|
||||
\* All active projects in Free Plan organizations where you're either an Owner or Administrator count towards your total limit of 2 free projects. Paused projects do not count towards your limit.
|
||||
|
||||
### Multiple projects in a Pro Plan organization
|
||||
|
||||
While you only pay for the $25 Pro Plan once, launching additional projects at least incurs compute costs.
|
||||
|
||||
**Invoice Breakdown**
|
||||
|
||||
| Line Item | Price |
|
||||
| ------------------------- | ----- |
|
||||
| Pro Plan for Organization | $25 |
|
||||
| Micro Compute x3 | $30 |
|
||||
| Compute Credits | $-10 |
|
||||
| Total | $45 |
|
||||
|
||||
Here's the quota for your entire organization:
|
||||
|
||||
| Usage Item | Quota |
|
||||
| -------------------------- | -------------------------------------------- |
|
||||
| Egress | 250GB included, then $0.09 per GB |
|
||||
| Disk Size | 8GB per project included, then $0.125 per GB |
|
||||
| Storage Size | 100GB included, then $0.021 per GB |
|
||||
| Monthly Active Users | 100K MAU included, then $0.00325 per MAU |
|
||||
| Function Invocations | 2 million included, then $2 per million |
|
||||
| Function Count | 500 included |
|
||||
| Storage Images Transformed | 100 included, then $5 per 1000 |
|
||||
| Realtime Message Count | 5 million included, then $2.5 per million |
|
||||
| Realtime Peak Connections | 500 included, then $10 per 1000 |
|
||||
|
||||
See [Project Transfers](/docs/guides/platform/project-transfer) to move projects across organizations.
|
||||
@@ -4,7 +4,7 @@ title: 'Project Transfers'
|
||||
description: 'Transfer a project to another organization.'
|
||||
---
|
||||
|
||||
With the introduction of [Organization-based Billing](/docs/guides/platform/org-based-billing), we’re adding the ability to freely transfer projects between different organizations. Head to your [projects' general settings](https://supabase.com/dashboard/project/_/settings/general) to initiate a project transfer.
|
||||
You can freely transfer projects between different organizations. Head to your [projects' general settings](https://supabase.com/dashboard/project/_/settings/general) to initiate a project transfer.
|
||||
|
||||
<Image
|
||||
alt="Project Transfer: General Settings"
|
||||
@@ -31,7 +31,6 @@ Target organization - the organization you want to move the project to
|
||||
|
||||
## Pre-Requirements
|
||||
|
||||
- The target organization you want to move the project to needs to use [Organization-based Billing](/docs/guides/platform/org-based-billing).
|
||||
- You need to be the owner of the source organization.
|
||||
- You need to be at least a member of the target organization you want to move the project to.
|
||||
- Projects with support tier add-ons cannot be transferred at this point. Please [open a support ticket](https://supabase.com/dashboard/support/new?category=billing&subject=Transfer%20project).
|
||||
|
||||
@@ -270,3 +270,7 @@ You can [consult](https://cloud.google.com/sql/docs/postgres/replication/replica
|
||||
When a project that utilizes Read Replicas is restarted, or the compute add-on size is changed, the Primary database gets restarted first. During this period, the Read Replicas remain available.
|
||||
|
||||
Once the Primary database has completed restarting (or resizing, in case of a compute add-on change) and become available for usage, all the Read Replicas are restarted (and resized, if needed) concurrently.
|
||||
|
||||
## Pricing
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Read Replica usage](/docs/guides/platform/manage-your-usage/read-replicas).
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
title: 'Spend cap'
|
||||
description: 'Learn about the cost control of Supabase.'
|
||||
subtitle: 'Learn about the cost control of Supabase.'
|
||||
---
|
||||
|
||||
Supabase offers a "Spend Cap" on each organization to manage your usage and costs.
|
||||
|
||||
This Spend Cap determines whether your organization can exceed the free quota allowance of any [line item](#what-additional-usage-can-i-be-charged-for) in a given billing cycle. If you exceed the free quota allowance of a line item, and the Spend Cap is **"off"**, then you will be billed for any additional usage on that line item.
|
||||
|
||||
## What additional usage can I be charged for?
|
||||
|
||||
Supabase charges for certain usage line items in your organization. Those line items include:
|
||||
|
||||
- Disk Size
|
||||
- Storage Size
|
||||
- Egress
|
||||
- Storage Image Transformations
|
||||
- Realtime concurrent peak connections
|
||||
- Realtime messages
|
||||
- Edge function invocations
|
||||
- Log Drain Events
|
||||
- Monthly Active Users
|
||||
- Monthly Active Third-Party Users
|
||||
- Monthly Active SSO Users
|
||||
|
||||
You can view the pricing, and free quota allowance of each line item on the [pricing page](/pricing).
|
||||
|
||||
You can monitor your usage and costs using the [Usage section of your organization](https://supabase.com/dashboard/org/_/usage) in the dashboard.
|
||||
This will show you how much you have spent so far in the current billing cycle, as well as an estimate of your expected total cost for the cycle based on your current usage.
|
||||
|
||||
## Can I use the spend cap to limit my compute costs?
|
||||
|
||||
The spend cap does not apply to compute usage. Each project is a dedicated server and database and incurs compute costs depending on the selected compute size. Costs for compute are predictable, as the maximum amount is number of hours in month \* hourly compute price (per project).
|
||||
|
||||
Launching additional projects on a paid plan incurs compute costs, even if your spend cap is toggled on.
|
||||
|
||||
Read more about [how billing for compute works](https://supabase.com/docs/guides/platform/org-based-billing#billing-for-compute-compute-hours).
|
||||
|
||||
## What's not covered by the Spend Cap?
|
||||
|
||||
The Spend Cap does not apply to compute or project add-ons such as Custom Domains or IPv4. If you launch additional projects, opt into project add-ons, spin up branches or read replicas on a paid plan, it will incur additional costs.
|
||||
|
||||
The Spend Cap also does not apply to Log Drain events given they have no included quota and are an explicit opt-in.
|
||||
|
||||
## How can I turn the Spend Cap on or off?
|
||||
|
||||
To set up a Spend Cap in your organization, navigate to the [Subscription section](https://supabase.com/dashboard/org/_/billing) of your organization.
|
||||
From there, you can click on "Change subscription" to select the plan you want to use and, at the same time, turn on or off the Spend Cap.
|
||||
|
||||
## What happens when the Spend Cap is on?
|
||||
|
||||
Once you use all your free quota allowance for a [line item](#what-additional-usage-can-i-be-charged-for), your organization will not allow any further usage on that line item until the next billing cycle begins.
|
||||
|
||||
This can help you to avoid unexpected costs and manage your expenses more effectively.
|
||||
|
||||
## What happens when Spend Cap is off?
|
||||
|
||||
Your projects will continue to operate after using all the free quota allowance for each [line item](#what-additional-usage-can-i-be-charged-for).
|
||||
This additional usage will be charged based on the line item's cost per unit outlined on the [pricing page](/pricing).
|
||||
|
||||
<Admonition type="note">
|
||||
|
||||
When your Spend Cap is **off**, we recommend monitoring your consumption and costs using the [Usage section of your organization](https://supabase.com/dashboard/org/_/usage) in the dashboard.
|
||||
|
||||
</Admonition>
|
||||
|
||||
## Can I cap certain usage items?
|
||||
|
||||
The Spend Cap is currently an all-or-nothing toggle. You can either opt into paying for usage beyond your plans quota or opt out and run into restrictions when exceeding the limits. We do have plans to make the spend cap more flexible in the future.
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
id: 'your-monthly-invoice'
|
||||
title: 'Your monthly invoice'
|
||||
---
|
||||
|
||||
## Billing cycle
|
||||
|
||||
When you sign up for a paid plan you get charged once a month at the beginning of the billing cycle. A billing cycle starts with the creation of a Supabase organization. If you create an organization on the sixth of January your billing cycle resets on the sixth of each month. If the anchored day is not present in the current month, then the last day of the month is used.
|
||||
|
||||
## Your invoice explained
|
||||
|
||||
When your billing cycle resets an invoice gets issued. That invoice contains line items from both the current and the previous billing cycle. Fixed fees for the current billing cycle, usage based fees for the previous billing cycle.
|
||||
|
||||
### Fixed fees
|
||||
|
||||
Fixed fees are independent of usage and paid in-advance. Whether you have one or several projects, hundreds or millions of active users, the fee is always the same, and doesn't vary. Examples are the subscription fee, the fee for HIPAA and for priority support.
|
||||
|
||||
### Usage based fees
|
||||
|
||||
Fees vary depending on usage and are paid in arrears. The more usage you have, the higher the fee. Examples are fees for monthly active users and storage size.
|
||||
|
||||
### Discounted line items
|
||||
|
||||
Paid plans come with a usage quota for certain line items. You only pay for usage that goes beyond the quota. The quota for Storage for example is 100 GB. If you use 105 GB, you pay for 5 GB. If you use 95 GB, you pay nothing. This quota is declared as a discount on your invoice.
|
||||
|
||||
#### Compute Credits
|
||||
|
||||
Paid plans come with $10 in Compute Credits per month. This suffices for a single project using a Nano or Micro compute instance. Every additional project adds compute fees to your monthly invoice though.
|
||||
|
||||
### Example invoice
|
||||
|
||||
The following invoice was issued on January 6, 2025 with the previous billing cycle from December 6, 2024 - January 5, 2025, and the current billing cycle from January 6 - February 5, 2025.
|
||||
|
||||
<Image
|
||||
alt="Example Invoice"
|
||||
src={{
|
||||
light: '/docs/img/guides/platform/example-invoice.png',
|
||||
dark: '/docs/img/guides/platform/example-invoice.png',
|
||||
}}
|
||||
zoomable
|
||||
/>
|
||||
|
||||
1. The final amount due
|
||||
2. Fixed subscription fee for the current billing cycle
|
||||
3. Usage based fee for Compute for the previous billing cycle. There were two projects (`wsmmedyqtlrvbcesxdew`, `wwxdpovgtfcmcnxwsaad`) running 744 hours (24 hours \* 31 days). These projects incurred $10 in Compute fees each. With $10 in Compute Credits deducted, the final Compute fees are $10.
|
||||
4. Usage based fee for Custom Domain for the previous billing cycle. There is no free usage quota for Custom Domain. You get charged for the 744 hours (24 hours \* 31 days) a Custom Domain was active. The final Custom Domain fees are $10.19.
|
||||
5. Usage based fee for Egress for the previous billing cycle. There is a free usage quota of 250 GB for Egress. You get charged for usage beyond 250 GB only, meaning for 2,119.47 GB. The final Egress fees are $190.75.
|
||||
6. Usage based fee for Monthly Active Users for the previous billing cycle. There is a free usage quota of 100,000 users. With 141 users there is no charge for this line item.
|
||||
|
||||
### Why is my invoice more than $25?
|
||||
|
||||
The amount due of your invoice being higher than the $25 subscription fee for the Pro Plan can have several reasons.
|
||||
|
||||
- **Running several projects:** You had more than one project running in the previous billing cycle. Supabase provides a dedicated server and database for every project. That means that every project you launch incurs compute costs. While the $10 Compute Credits cover a single project using a Nano or Micro compute instance, every additional project adds at least $10 compute costs to your invoice.
|
||||
- **Usage beyond quota:** You exceeded the included usage quota for one or more line items in the previous billing cycle while having the Spend Cap disabled.
|
||||
- **Usage that is not covered by the Spend Cap:** You had usage in the previous billing cycle that is not covered by the [Spend Cap](/docs/guides/platform/cost-control#spend-cap). For example using an IPv4 address or a custom domain.
|
||||
|
||||
## How to settle your invoices
|
||||
|
||||
Monthly invoices are auto-collected by charging the payment method marked as "active" for an organization.
|
||||
|
||||
### Payment failure
|
||||
|
||||
If your payment fails, Supabase retries the charge several times. We send you a Payment Failure email with the reason for the failure. Follow the steps outlined in this email. You can manually trigger a charge at any time via
|
||||
|
||||
- the link in the Payment Failure email
|
||||
- the "Pay Now" button on the [organization's invoices page](https://supabase.com/dashboard/org/_/invoices)
|
||||
|
||||
## Where to find your invoices
|
||||
|
||||
Your invoice is sent to you via email. You can also find your invoices on the [organization's invoices page](https://supabase.com/dashboard/org/_/invoices).
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
id: 'pricing'
|
||||
title: 'Realtime Pricing'
|
||||
---
|
||||
|
||||
You are charged for the number of Realtime messages and the number of Realtime peak connections.
|
||||
|
||||
## Messages
|
||||
|
||||
<PricingRealtimeMessages />
|
||||
|
||||
For a detailed explanation of how charges are calculated, refer to [Manage Realtime Messages usage](/docs/guides/platform/manage-your-usage/realtime-messages).
|
||||
|
||||
## Peak connections
|
||||
|
||||
<PricingRealtimeConnections />
|
||||
|
||||
For a detailed explanation of how charges are calculated, refer to [Manage Realtime Peak Connections usage](/docs/guides/platform/manage-your-usage/realtime-peak-connections).
|
||||
@@ -17,10 +17,10 @@ Upgrade your plan to increase your quotas. Without a spend cap, or on an Enterpr
|
||||
|
||||
| | Free | Pro | Pro (no spend cap) | Team | Enterprise |
|
||||
| -------------------------------------------------------------------------------------- | ----- | ----- | ------------------ | ------ | ---------- |
|
||||
| **Concurrent clients** | 200 | 500 | 10,000 | 10,000 | 10,000+ |
|
||||
| **Concurrent connections** | 200 | 500 | 10,000 | 10,000 | 10,000+ |
|
||||
| **Messages per second** | 100 | 500 | 2,500 | 2,500 | 2,500+ |
|
||||
| **Channel joins per second** | 100 | 500 | 2,500 | 2,500 | 2,500+ |
|
||||
| **Channels per client** | 100 | 100 | 100 | 100 | 100+ |
|
||||
| **Channels per connection** | 100 | 100 | 100 | 100 | 100+ |
|
||||
| **Presence keys per object** | 10 | 10 | 10 | 10 | 10+ |
|
||||
| **Presence messages per second** | 20 | 50 | 1,000 | 1,000 | 1,000+ |
|
||||
| **Broadcast payload size KB** | 256 | 3,000 | 3,000 | 3,000 | 3,000+ |
|
||||
@@ -44,7 +44,7 @@ Some quotas can cause a Channel join to be refused. Realtime will reply with one
|
||||
|
||||
### `too_many_channels`
|
||||
|
||||
Too many channels currently joined for a single client.
|
||||
Too many channels currently joined for a single connection.
|
||||
|
||||
### `too_many_connections`
|
||||
|
||||
@@ -56,7 +56,7 @@ Too many Channel joins per second.
|
||||
|
||||
### `tenant_events`
|
||||
|
||||
Clients will be disconnected if your project is generating too many messages per second. `supabase-js` will reconnect automatically when the message throughput decreases below your plan quota. An `event` is a WebSocket message delivered to, or sent from a client.
|
||||
Connections will be disconnected if your project is generating too many messages per second. `supabase-js` will reconnect automatically when the message throughput decreases below your plan quota. An `event` is a WebSocket message delivered to, or sent from a client.
|
||||
|
||||
## Postgres changes payload quota
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
---
|
||||
title: "Self-Hosting with Docker"
|
||||
description: "Learn how to configure and deploy Supabase with Docker."
|
||||
subtitle: "Learn how to configure and deploy Supabase with Docker."
|
||||
tocVideo: "FqiQKRKsfZE"
|
||||
title: 'Self-Hosting with Docker'
|
||||
description: 'Learn how to configure and deploy Supabase with Docker.'
|
||||
subtitle: 'Learn how to configure and deploy Supabase with Docker.'
|
||||
tocVideo: 'FqiQKRKsfZE'
|
||||
---
|
||||
|
||||
Docker is the easiest way to get started with self-hosted Supabase. It should only take you a few minutes to get up and running. This guide assumes you are running the command from the machine you intend to host from.
|
||||
|
||||
## Contents
|
||||
|
||||
1. [Before you begin](#before-you-begin)
|
||||
2. [Installing and running Supabase](#installing-and-running-supabase)
|
||||
3. [Accessing your services](#accessing-supabase-studio)
|
||||
@@ -142,12 +143,14 @@ The default tenant ID is `your-tenant-id`, and the default password is `your-sup
|
||||
By default, the database is not accessible from outside the local machine but the pooler is. You can [change this](#exposing-your-postgres-database) by updating the `docker-compose.yml` file.
|
||||
|
||||
## Updating your services
|
||||
|
||||
For security reasons, we "pin" the versions of each service in the docker-compose file (these versions are updated ~monthly). If you want to update any services immediately, you can do so by updating the version number in the docker compose file and then running `docker compose pull`. You can find all the latest docker images in the [Supabase Docker Hub](https://hub.docker.com/u/supabase).
|
||||
|
||||
You should update your services frequently to get the latest features and bug fixes and security patches. Note that you will need to restart the services to pick up the changes, which will result in some downtime for your services.
|
||||
|
||||
**Example**
|
||||
You'll want to update the Studio(Dashboard) frequently to get the latest features and bug fixes. To update the Dashboard:
|
||||
|
||||
1. Visit the [supabase/studio](https://hub.docker.com/r/supabase/studio/tags) image in the [Supabase Docker Hub](https://hub.docker.com/u/supabase)
|
||||
2. Find the latest version (tag) number. It will look something like `20241029-46e1e40`
|
||||
3. Update the `image` field in the `docker-compose.yml` file to the new version. It should look like this: `image: supabase/studio:20241028-a265374`
|
||||
@@ -158,6 +161,7 @@ You'll want to update the Studio(Dashboard) frequently to get the latest feature
|
||||
While we provided you with some example secrets for getting started, you should NEVER deploy your Supabase setup using the defaults we have provided. Please follow all of the steps in this section to ensure you have a secure setup, and then [restart all services](#restarting-all-services) to pick up the changes.
|
||||
|
||||
### Generate API keys
|
||||
|
||||
We need to generate secure keys for accessing your services. We'll use the `JWT Secret` to generate `anon` and `service` API keys using the form below.
|
||||
|
||||
1. **Obtain a Secret**: Use the 40-character secret provided, or create your own. If creating, ensure it's a strong, random string of 40 characters.
|
||||
@@ -170,8 +174,8 @@ We need to generate secure keys for accessing your services. We'll use the `JWT
|
||||
|
||||
Run this form twice to generate new `anon` and `service` API keys. Replace the values in the `./docker/.env` file:
|
||||
|
||||
- `ANON_KEY` - replace with an `anon` key
|
||||
- `SERVICE_ROLE_KEY` - replace with a `service` key
|
||||
- `ANON_KEY` - replace with an `anon` key
|
||||
- `SERVICE_ROLE_KEY` - replace with a `service` key
|
||||
|
||||
You will need to [restart](#restarting-all-services) the services for the changes to take effect.
|
||||
|
||||
@@ -191,19 +195,20 @@ You will need to [restart](#restarting-all-services) the services for the change
|
||||
|
||||
The Dashboard is protected with basic authentication. The default user and password MUST be updated before using Supabase in production.
|
||||
Update the following values in the `./docker/.env` file:
|
||||
- `DASHBOARD_USERNAME`: The default username for the Dashboard
|
||||
- `DASHBOARD_PASSWORD`: The default password for the Dashboard
|
||||
|
||||
- `DASHBOARD_USERNAME`: The default username for the Dashboard
|
||||
- `DASHBOARD_PASSWORD`: The default password for the Dashboard
|
||||
|
||||
You can also add more credentials for multiple users in `./docker/volumes/api/kong.yml`. For example:
|
||||
|
||||
```yaml docker/volumes/api/kong.yml
|
||||
basicauth_credentials:
|
||||
- consumer: DASHBOARD
|
||||
username: user_one
|
||||
password: password_one
|
||||
- consumer: DASHBOARD
|
||||
username: user_two
|
||||
password: password_two
|
||||
- consumer: DASHBOARD
|
||||
username: user_one
|
||||
password: password_one
|
||||
- consumer: DASHBOARD
|
||||
username: user_two
|
||||
password: password_two
|
||||
```
|
||||
|
||||
You will need to [restart](#restarting-all-services) the services for the changes to take effect.
|
||||
@@ -297,23 +302,22 @@ Each system has a number of configuration options which can be found in the rele
|
||||
- [Kong](https://docs.konghq.com/gateway/latest/install/docker/)
|
||||
- [Supavisor](https://supabase.github.io/supavisor/development/docs/)
|
||||
|
||||
These configuration items are generally added to the `env` section of each service, inside the `docker-compose.yml` section. If these configuration items are sensitive, they should be stored in a [secret manager](/docs/guides/self-hosting#managing-your-secrets) or using an `.env` file and then referenced using the `${}` syntax.
|
||||
|
||||
These configuration items are generally added to the `env` section of each service, inside the `docker-compose.yml` section. If these configuration items are sensitive, they should be stored in a [secret manager](/docs/guides/self-hosting#managing-your-secrets) or using an `.env` file and then referenced using the `${}` syntax.
|
||||
|
||||
<CH.Code>
|
||||
|
||||
```yml docker-compose.yml
|
||||
```yml docker-compose.yml
|
||||
services:
|
||||
rest:
|
||||
image: postgrest/postgrest
|
||||
environment:
|
||||
PGRST_JWT_SECRET: ${JWT_SECRET}
|
||||
```
|
||||
```
|
||||
|
||||
```bash .env
|
||||
## Never check your secrets into version control
|
||||
```bash .env
|
||||
## Never check your secrets into version control
|
||||
`${JWT_SECRET}`
|
||||
```
|
||||
```
|
||||
|
||||
</CH.Code>
|
||||
|
||||
@@ -341,11 +345,10 @@ We recommend using [AWS SES](https://aws.amazon.com/ses/). It's extremely cheap
|
||||
By default all files are stored locally on the server. You can configure the Storage service to use S3 by updating the following environment variables:
|
||||
|
||||
```yaml docker-compose.yml
|
||||
storage:
|
||||
environment:
|
||||
STORAGE_BACKEND=s3
|
||||
GLOBAL_S3_BUCKET=name-of-your-s3-bucket
|
||||
REGION=region-of-your-s3-bucket
|
||||
storage:
|
||||
environment: STORAGE_BACKEND=s3
|
||||
GLOBAL_S3_BUCKET=name-of-your-s3-bucket
|
||||
REGION=region-of-your-s3-bucket
|
||||
```
|
||||
|
||||
You can find all the available options in the [storage repository](https://github.com/supabase/storage-api/blob/master/.env.sample). Restart the `storage` service to pick up the changes: `docker compose restart storage --no-deps`
|
||||
@@ -390,9 +393,9 @@ If you need direct access to the Postgres database without going through Supavis
|
||||
# supavisor:
|
||||
# ports:
|
||||
# ...
|
||||
db:
|
||||
ports:
|
||||
- ${POSTGRES_PORT}:${POSTGRES_PORT}
|
||||
db:
|
||||
ports:
|
||||
- ${POSTGRES_PORT}:${POSTGRES_PORT}
|
||||
```
|
||||
|
||||
This is less-secure, so please make sure you are running a firewall in front of your server.
|
||||
@@ -415,7 +418,6 @@ All data in analytics will be deleted when you run the commands below.
|
||||
|
||||
</Admonition>
|
||||
|
||||
|
||||
```sh
|
||||
### Destroy analytics to transition to postgres self hosted solution without other data loss
|
||||
|
||||
@@ -443,6 +445,7 @@ A minimal setup working on Ubuntu, hosted on DigitalOcean.
|
||||
</div>
|
||||
|
||||
### Demo using DigitalOcean
|
||||
|
||||
1. A DigitalOcean Droplet with 1 GB memory and 25 GB solid-state drive (SSD) is sufficient to start
|
||||
2. To access the Dashboard, use the ipv4 IP address of your Droplet.
|
||||
3. If you're unable to access Dashboard, run `docker compose ps` to see if the Studio service is running and healthy.
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
id: 'storage-management-pricing'
|
||||
title: 'Pricing'
|
||||
---
|
||||
|
||||
You are charged for the total size of all assets in your buckets.
|
||||
|
||||
<PricingStorageSize />
|
||||
|
||||
For a detailed explanation of how charges are calculated, refer to [Manage Storage size usage](/docs/guides/platform/manage-your-usage/storage-size).
|
||||
|
||||
<Admonition type="caution">
|
||||
|
||||
If you use [Storage Image Transformations](/docs/guides/storage/serving/image-transformations), additional charges apply.
|
||||
|
||||
</Admonition>
|
||||
@@ -597,6 +597,12 @@ response = supabase.storage.from_('bucket').download(
|
||||
| BMP | `bmp` | ☑️ | ☑️ |
|
||||
| TIFF | `tiff` | ☑️ | ☑️ |
|
||||
|
||||
## Pricing
|
||||
|
||||
<PricingStorageImageTransformations />
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Storage Image Transformations usage](/docs/guides/platform/manage-your-usage/storage-image-transformations).
|
||||
|
||||
## Self hosting
|
||||
|
||||
Our solution to image resizing and optimization can be self-hosted as with any other Supabase product. Under the hood we use [imgproxy](https://imgproxy.net/)
|
||||
|
||||
@@ -180,3 +180,7 @@ To setup DataDog log drain, generate a DataDog API key [here](https://app.datado
|
||||
</Accordion>
|
||||
|
||||
If you are interested in other log drains, upvote them [here](https://github.com/orgs/supabase/discussions/28324)
|
||||
|
||||
## Pricing
|
||||
|
||||
For a detailed breakdown of how charges are calculated, refer to [Manage Log Drain usage](/docs/guides/platform/manage-your-usage/log-drains).
|
||||
@@ -11,7 +11,7 @@ database_id = "ba593989-12b5-464f-8ede-a525e1ca2ffb"
|
||||
|
||||
Egress (also known as bandwidth) is any amount of network packets/bytes being streamed back to a connected client. Means, the data that is leaving the Supabase platform. Egress in Supabase includes any calls through PostgREST, to Storage, Realtime, Auth, Edge Functions, Database and Supavisor.
|
||||
|
||||
You can read about Unified egress, included quota, and how to check the egress usage here: https://supabase.com/docs/guides/platform/org-based-billing#unified-egress. Additionally, the [project reports](https://supabase.com/dashboard/project/_/reports) have a few egress related stats. You can create a custom report to look into daily egress.
|
||||
You can read about Unified egress, included quota, and how to check the egress usage here: https://supabase.com/docs/guides/platform/manage-your-usage/egress. Additionally, the [project reports](https://supabase.com/dashboard/project/_/reports) have a few egress related stats. You can create a custom report to look into daily egress.
|
||||
|
||||
- Example: Log Explorer -> Custom Reports -> Add/Remove charts -> Database API -> API Egress.
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ In cases where you see significantly more pooler connections than direct connect
|
||||
|
||||
The general rule is that if you are using the PostgREST database API, you should avoid raising your pool size past 40%. Otherwise, you can commit 80% to the pool. This leaves adequate room for the Authentication server and other utilities.
|
||||
|
||||
These numbers are generalizations and assume a certain level of activity from all connected servers. The actual values depend on your peak connection usage. For instance, if you were only using 80 connections in a week period and your database could support 500 connections, then realistically you could allocate the remaining 420 (minus a reasonable buffer) to service more demand.
|
||||
These numbers are generalizations and assume a certain level of activity from all connected servers. The actual values depend on your concurrent peak connection usage. For instance, if you were only using 80 connections in a week period and your database could support 500 connections, then realistically you could allocate the remaining 420 (minus a reasonable buffer) to service more demand.
|
||||
|
||||
## Secondary issues:
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ database_id = "76b2e2b6-8f1d-448a-a3dd-cdf68755d1a9"
|
||||
cli = [ "supabase-login", "supabase-link", "supabase-init", "supabase-storage-cp" ]
|
||||
---
|
||||
|
||||
Pro-Projects at the moment cannot paused. However, [You are allowed to have two free organizations](https://supabase.com/docs/guides/platform/org-based-billing#mix-of-free-and-pro-plan-projects) that can support one active project each and an unlimited amount of paused ones.
|
||||
Pro-Projects at the moment cannot be paused. However, [You are allowed to have two free organizations](https://supabase.com/docs/guides/platform/billing-on-supabase#free-plan) that can support one active project each and an unlimited amount of paused ones.
|
||||
|
||||
If a project is under 500MB, you can [transfer it to be under a free organization](https://supabase.com/docs/guides/platform/project-transfer). Afterwards, you can initiate a pause.
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ SELECT
|
||||
FROM pg_stat_activity where application_name ilike 'pg_cron';
|
||||
```
|
||||
|
||||
You can view your peak connection usage throughout the day at the bottom of the [Reports Dashboard](https://supabase.com/dashboard/project/_/reports/database)
|
||||
You can view your concurrent peak connection usage throughout the day at the bottom of the [Reports Dashboard](https://supabase.com/dashboard/project/_/reports/database)
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ const GuideTemplate = ({ meta, content, children, editLink, mdxOptions }: GuideT
|
||||
id="sb-docs-guide-main-article"
|
||||
className="prose max-w-none"
|
||||
>
|
||||
<h1 className="mb-0">
|
||||
<h1 className="mb-0 [&>p]:m-0">
|
||||
<ReactMarkdown>{meta?.title || 'Supabase Docs'}</ReactMarkdown>
|
||||
</h1>
|
||||
{meta?.subtitle && (
|
||||
|
||||
@@ -29,6 +29,17 @@ import {
|
||||
SocialProviderSettingsSupabase,
|
||||
SocialProviderSetup,
|
||||
PostgresInstallation,
|
||||
PricingMfaPhone,
|
||||
PricingBranching,
|
||||
PricingEdgeFunctions,
|
||||
PricingMau,
|
||||
PricingMauSso,
|
||||
PricingMauThirdParty,
|
||||
PricingPitr,
|
||||
PricingRealtimeMessages,
|
||||
PricingRealtimeConnections,
|
||||
PricingStorageImageTransformations,
|
||||
PricingStorageSize,
|
||||
} from '~/components/MDX/partials'
|
||||
import { NavData } from '~/components/NavData'
|
||||
import { ProjectConfigVariables } from '~/components/ProjectConfigVariables'
|
||||
@@ -90,6 +101,17 @@ const components = {
|
||||
StepHikeCompact,
|
||||
Tabs,
|
||||
TabPanel,
|
||||
PricingMfaPhone,
|
||||
PricingBranching,
|
||||
PricingEdgeFunctions,
|
||||
PricingMau,
|
||||
PricingMauSso,
|
||||
PricingMauThirdParty,
|
||||
PricingPitr,
|
||||
PricingRealtimeMessages,
|
||||
PricingRealtimeConnections,
|
||||
PricingStorageImageTransformations,
|
||||
PricingStorageSize,
|
||||
h2: (props: any) => (
|
||||
<Heading tag="h2" {...props}>
|
||||
{props.children}
|
||||
|
||||
|
After Width: | Height: | Size: 175 KiB |
|
After Width: | Height: | Size: 178 KiB |
|
After Width: | Height: | Size: 263 KiB |
|
After Width: | Height: | Size: 257 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 532 KiB |
|
After Width: | Height: | Size: 217 KiB |
|
After Width: | Height: | Size: 233 KiB |
|
After Width: | Height: | Size: 387 KiB |
|
After Width: | Height: | Size: 283 KiB |
|
After Width: | Height: | Size: 292 KiB |
|
After Width: | Height: | Size: 462 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
After Width: | Height: | Size: 225 KiB |
|
After Width: | Height: | Size: 189 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 204 KiB |
|
After Width: | Height: | Size: 205 KiB |
|
After Width: | Height: | Size: 169 KiB |