New users frequently attempt to run PostgreSQL's command line utilities from the psql prompt.
They tend to be confused when this appears to do absolutely nothing:
psql=> pg_restore psql->
since they're generally not going to semicolon-terminate the command either.
The attached patch detects common command names when they appear first on a new input line prints a help message. If the buffer is empty a more detailed message is printed and the input is swallowed. Otherwise, much like how we handle "help" etc,
a short message is printed and the input is still added to the buffer.
psql=> pg_restore "pg_restore" is a command line utility program. Use it from the system terminal or command prompt not from psql. psql=> psql=> select 1 psql-> pg_restore "pg_restore" is a command-line utility program not a psql command. See "help". psql->
Wording advice would be welcome.
I'd be tempted to backpatch this, since it's one of the things I see users confused by most often now - right up there with pg_hba.conf issues, forgetting a semicolon in psql, etc.