Auto-completion is on by default. The REPL will pop up a suggestion menu as soon as you start typing. The suggestions are context sensitive based on the position of the cursor. eg: Only tables are suggested after the FROM keyword, only column names are suggested after the WHERE clause.
I call this context sensitive suggestion as smart completion. Here are a few examples of smart completion.
Only table names from the current database are suggested after the FROM keyword.
Column names from the current table are suggested after the WHERE clause.
Insert statement will suggest the column names.
Aliases in the query are resolved and the columns from the table aliases are suggested.
The completions are matched using a fuzzy algorithm. For example typing 'djmi' will match the table 'django_migrations' because 'djmi' has parts of matching substrings. Here's an example: