apps/docs/content/guides/queues/expose-self-hosted-queues.mdx
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.
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.
[api]
enabled = true
port = 54321
schemas = ["public", "graphql_public", "pgmq_public"]
Then restart your local Supabase stack.
supabase stop && supabase start
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.
PGRST_DB_SCHEMAS=public,graphql_public,pgmq_public
Restart your containers for the changes to take effect.
docker compose down
docker compose up -d
If you no longer want to expose the pgmq_public schema, you can remove it from your configuration.
pgmq_public from the [api] schemas list in your config.toml file.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.