I wrote: > Yeah, that's what psql is expecting, but it does seem a bit > unforgiving considering that you can write a noise semicolon > in many other backslash commands. And this: > dvdb=# \ef opid.bef_ins_axi_reqs_set_trig(); > ERROR: expected a right parenthesis > seems outright buggy. I've not looked at the code though. Ah, I see it. The difference in the error messages is because \ef feeds the whole argument to regprocin to find out the function OID if there are no parens, but regprocedurein if there are parens. Neither of those functions like the trailing semicolon, but their complaints are different. More interestingly, \ef is actually trying to ignore trailing semicolons: exec_command_ef_ev tells psql_scan_slash_option to do so. But it's using OT_WHOLE_LINE mode and that function ignores the request in that mode. So that seems like an oversight. regards, tom lane