函数st_geomfromtext(未知)不存在PostGIS

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

我有这样的疑问:

  SELECT
      name, location, date, price_type, price, currency, category, amount, id
    FROM
      jobs 
    WHERE 
      status = 'ACTIVE' 
      AND CAST(category AS TEXT ) IN ${categories}
      AND ST_Contains(ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'), ST_GeomFromText('POINT(5 5)'));
      `);

一切正常,直到我尝试使用 ST_GeomFromText 时出现以下错误:

function st_geomfromtext(unknown) does not exist
。我查看了文档,它似乎是正确的格式,但由于某种原因它不起作用,我不知道我做错了什么。

postgresql nestjs postgis
1个回答
0
投票

与往常一样,此类问题存在三种可能性:

  • 您已连接到尚未安装 PostGIS 的数据库

    CREATE EXTENSION postgis SCHEMA public;
    
  • 您的

    search_path
    不包含安装扩展的架构,在上述情况下
    public
    。您可以通过明确命名架构来解决这个问题:

    SELECT public.st_geomfromtext(...);
    
  • 您提供给函数的参数的数据类型无法隐式转换为函数参数数据类型。由于您只提供一个

    unknown
    类型的参数,所以这不是您的问题,因为
    unknown
    可以转换为任何内容。

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