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
[api]
2
enabled = true
3
port = 54321
4
schemas = ["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
docker compose down
2
docker 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.