Executar SQL não funciona no psql

Qualquer coisa que comece com : é um parâmetro nomeado destinado a ser substituído pelo mini_sql antes de ser enviado ao SGBD; sozinho, não é SQL válido.

Exemplo, veja [2] abaixo:

[1] pry(main)> User.find_by(username: 'anon43915857').id
=> 5

[2] pry(main)> DB.query(
  "SELECT id FROM users WHERE username = :username",
  { username: 'anon43915857' }
).first.id
=> 5

[3] pry(main)> DB.query(
  "SELECT id FROM users WHERE username = ?",
  'anon43915857' 
).first.id
=> 5