I wrote: > Well, there's got to be *something* different about that database.
After looking at the code I remembered that the parser might be taking this as a type coercion request. With that idea, I can duplicate the observed behavior like so: regression=# select _sa_setup_role('af_repo_app'); INFO: af_repo_app _sa_setup_role ---------------- Done (1 row) regression=# create domain _sa_setup_role as varchar[]; CREATE DOMAIN regression=# select _sa_setup_role('af_repo_app'); ERROR: malformed array literal: "af_repo_app" LINE 1: select _sa_setup_role('af_repo_app'); ^ DETAIL: Array value must start with "{" or dimension information. So ... any chance you have a data type named _sa_setup_role? regards, tom lane