Simple postgres select query hangs forever when string passed as parameter

Viewed 134

I am unable to figure out why the following query fails in node.js with pg PostgreSQL client (version 8.5.1).

  db.query("SELECT id FROM my_table WHERE name LIKE $1", ["foo"], (error, results) => {
    if (error) {
      throw error
    }
    console.log(results.rows)
  });

I do not get a error message and db.query function hangs forever.

However the following works, which I thought would be the same but I am obviously missing something:

  db.query("SELECT id FROM my_table WHERE name LIKE 'foo'", ...

My table looks like this and have less then 10 rows:

CREATE TABLE IF NOT EXISTS my_table (
   id SERIAL PRIMARY KEY,
   name VARCHAR ( 128 ) UNIQUE NOT NULL
);

In case it is relevant, db.query is called from a express app endpoint handler. Also, passing parameters/values to INSERT statements works.

Edit: A prepared statement also works, still do not understand why above do not.

Any suggestions?

0 Answers
Related