Queues

Expose Queues for local and self-hosted Supabase

Learn how to expose Queues when running Supabase with Supabase CLI or Docker Compose


By default, local and self-hosted Supabase instances expose only core schemas like public and graphql_public. To allow client-side consumers to use your queues, you have to add pgmq_public schema to the list of exposed schemas.

Before continuing, complete the step Expose queues to client-side consumers from the Queues Quickstart guide. This creates the pgmq_public schema, which must exist before it can be exposed through the API.

Expose Queues with Supabase CLI

When running Supabase locally with Supabase CLI, update your project's config.toml file. Locate the [api] section and add pgmq_public to the list of schemas.

1
2
3
4
[api]enabled = trueport = 54321schemas = ["public", "graphql_public", "pgmq_public"]

Then restart your local Supabase stack.

1
supabase stop && supabase start

Expose queues with Docker compose

When running Supabase with Docker Compose, locate the PGRST_DB_SCHEMAS variable inside your .env file and add pgmq_public to it. This environment variable is passed to the rest service inside docker-compose.yml.

1
PGRST_DB_SCHEMAS=public,graphql_public,pgmq_public

Restart your containers for the changes to take effect.

1
2
docker compose downdocker compose up -d

Stop exposing queues

If you no longer want to expose the pgmq_public schema, you can remove it from your configuration.

  • For Supabase CLI, remove pgmq_public from the [api] schemas list in your config.toml file.
  • For Docker Compose, remove pgmq_public from the PGRST_DB_SCHEMAS variable in your .env file.

After updating your configuration, restart your containers for the changes to take effect.