
# U0600008：jsonb_extract_path 函数不支持 XXX 作为参数
#### 描述
**数据库类型与版本**
- 源库类型与版本：PostgreSQL 所有版本。
- 目标库类型与版本：GaussDB 所有版本。
**语法示例**
PostgreSQL 的 jsonb_query_path 函数允许你使用 JSONPath 表达式来从 jsonb 数据中提取特定的信息。当只有两个参数时，UGO 会将 jsonb_query_path 函数转换成 GaussDB 的 jsonb_extract_path 函数，当函数参数大于两个时，UGO 将不进行转换，保持原样输出。
GaussDB 的 jsonb_extract_path 函数根据指定的路径从 jsonb 数据中提取特定信息，但是 jsonb_extract_path 函数需要指定明确的路径，不支持条件过滤、不支持 '\*' 通配符等场景，当 jsonb_query_path 函数的 JSONPath 表达式中存在 jsonb_extract_path 不支持的路径时将生成此错误提示。如下所示：
```
SELECT jsonb_path_query(data, '$.address.*') FROM users;
SELECT jsonb_path_query(data, '$.hobbies[*]') FROM users;
SELECT jsonb_path_query(data, '$.hobbies[?(@ == "reading")]') FROM users;
```
#### 改造建议
结合业务场景，参考以下两种改造方案：
1、改造 JSONPath 表达式，去除其中的 '\*'、条件过滤等 GaussDB 不支持的路径，使用清晰的 jsonb 路径提取信息。
2、删除不支持的路径，向业务端返回更多数据，通过改造业务代码来进行数据过滤。
