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.
1234[api]enabled = trueport = 54321schemas = ["public", "graphql_public", "pgmq_public"]Then restart your local Supabase stack.
1supabase stop && supabase startExpose 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_publicRestart your containers for the changes to take effect.
12docker compose downdocker compose up -dStop 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_publicfrom the[api]schemas list in yourconfig.tomlfile. - For Docker Compose, remove
pgmq_publicfrom thePGRST_DB_SCHEMASvariable in your.envfile.
After updating your configuration, restart your containers for the changes to take effect.