是否可以将ts_stat与参数化查询Postgresql一起使用

问题描述 投票:1回答:2

我正在尝试在ts_stat列上使用PostgreSQL的ts_vector。问题是我需要保护它免受SQL注入,因此我不能使用“ concat”字符串或替换?将“正常查询”传递给ts_stat

我正在寻找的东西是这样的:

SELECT * FROM ts_stat($$ SELECT tsv_column FROM table where otherColumn ILIKE ? $$)

我正在使用带有https://www.npmjs.com/package/pg的node.js进行查询。最终目标是能够查询单词及其出现次数,如下所示:

字数]

苹果-650025

cookie-1500

我将它们用作词云。如果您有其他想法可以帮助我做到这一点,那么我会开放的,但是它必须非常快(在包含80,000个条目的数据库中,最多包含6秒的时间,该列包含一小段文本)。现在,我可以在5到6秒钟内得到所需的信息,但是无法对查询进行参数化,因此需要对它进行参数化。

谢谢!

我正在尝试在ts_vector列上使用PostgreSQL的ts_stat。问题是我需要保护它免受SQL注入,因此我不能使用“ concat”字符串或替换?将“常规查询”传递给...

node.js postgresql pg word-cloud
2个回答
0
投票

您可以使用WITH子句以前创建虚拟表。

WITH terms AS (SELECT tsv_column FROM table WHERE otherColumn ILIKE ?)
SELECT * FROM ts_stat($$ SELECT tsv_column FROM terms $$);

0
投票

使用“格式”功能。

© www.soinside.com 2019 - 2024. All rights reserved.