Skip to content

ALC-9003: Request refused

Alcuin refused a request because it could not use it as given. Most of the time the message says what to change. A short, lowercase message naming a method or parameters means Alcuin sent itself a request it does not understand, which is a bug.

The message appears where you made the request: under a form field, in a query tab, in a panel, or in a toast.

Messages that say what to change, by where you meet them:

  • Connecting: Not a connection URL., No module opens …:// URLs., These are not Postgres connection settings., A Postgres connection needs …, This connection does not take its password from a command.
  • Importing connections: That file is not JSON. Export pgAdmin servers or a DBeaver data-sources.json., Neither a pgAdmin servers.json (a "Servers" object) nor a DBeaver data-sources.json (a "connections" object).
  • Explaining: Explain one statement at a time., This is already an EXPLAIN: run it as a query instead., This tab’s transaction has failed. Roll it back before explaining., A hypothetical index cannot be analyzed: nothing exists to run on. Explain without Analyze.
  • Exporting: Export one statement that returns rows., Export a query that only reads.
  • Opening a file: query.sql is larger than 20 MB. Limits and requirements lists the sizes Alcuin works within.
  • Viewing as a role: You cannot view as reporting: this user is not allowed to SET ROLE to it.
  • Staged structure, grant and policy changes: for example A structure change must be one statement per step., Pick at least one privilege to grant., A policy needs USING or WITH CHECK.
  • The assistant: The assistant is off. Turn it on in Settings, under AI Assistant., There is no API key. Enter one in Settings, under AI Assistant., There is no model set. Enter one in Settings, under AI Assistant.

Messages that point to a bug look like unknown method … or invalid params for …: ….

  • The input is not something Alcuin can act on: a URL that is not a Postgres connection URL, a file in another format, more than one statement where one is needed, or a setting left empty.
  • The current state does not allow it: a failed transaction in the tab, a role you may not switch to.
  • Alcuin’s interface sent the engine a request in a shape it does not accept. That is a bug.

For a message that says what to change, do what it says. A few notes:

  • Explaining in a failed transaction: run Roll back transaction from the command palette, then explain again.
  • Viewing as a role: you can view only as roles your user may SET ROLE to, which means roles your user is a member of. See SET ROLE.
  • The assistant: open Settings, under AI Assistant, and fill in what the message names. Set up a provider goes through each field.

For unknown method … or invalid params for …, report it:

  1. Choose Help → Save Diagnostics Bundle… (also in the command palette as Save a diagnostics bundle…) and save the file. Logs and the diagnostics bundle lists what it holds. Read it before you share it.
  2. Open an issue at Alcuin’s GitHub issues. Include the exact message, what you clicked or ran, your Postgres version, and the bundle.

The engine reports this as ENGINE_BAD_REQUEST. Quote either name in an issue.