rembrembdocs

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.

You only need to expose the pgmq_public schema manually when running Supabase locally with the Supabase CLI or self-hosting using Docker Compose.

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]2enabled = true3port = 543214schemas = ["public", "graphql_public", "pgmq_public"]

Then restart your local Supabase stack.

1supabase 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.

1PGRST_DB_SCHEMAS=public,graphql_public,pgmq_public

Restart your containers for the changes to take effect.

1docker compose down2docker compose up -d

Stop exposing queues#

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

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