検索画面で設定した項目をもとにpostgreSQLからデータを取ってくる
という処理をjavascriptで行っています。

以下のようなSQLを発行するとuserIdが"NULL"の場合は全件、"001"の場合は"001"のレコードを取得することができました。

var userId = '001';
var sql = "SELECT * FROM user_info WHERE user_id = COALESCE('"+ userId + "', user_id);";

これを利用しuserIdに"1"が設定された場合、は"1"で曖昧検索を行い、
"NULL"が設定された場合は全件検索を行いたいのですが可能でしょうか。

以下のような分岐を使う方法では項目が多い場合などコード量が増えてしまうのでなるべく避けたいです。

var sql = "SELECT * FROM user_info "
if (userId != null) {
   sql = sql + "WHERE user_id ='" + userId + "'";
}