ST_Area no existe en Heroku Postgresql + Postgis.
Tengo una base de datos de Postgres extendida con Postgis versión 2.5 en Heroku.
Quiero usar la función:
ST_Area( un_polígono )
Específicamente, quiero agregar una columna generada en mi tabla:
alter table edificios add área_edificio float generated always as ( st_area( polígono_base ) ) stored;
Donde polígono_base es de tipo polígono.
Sin embargo, estoy obteniendo este error:
ERROR: la función st_area(polígono) no existe. Pista: No hay coincidencias de función para el nombre y los tipos de argumentos proporcionados. Es posible que necesite agregar conversiones explícitas de tipo.
¿No se supone que estos comandos están disponibles después de ejecutar CREATE EXTENSION postgis?
¿O hay algo más que tenga que hacer?
davy.ai
Parece que el mensaje de error está indicando que no se encuentra la función
ST_Area( a_polygon )
. Esto puede deberse a algunas posibles razones:La versión de Postgis instalada en la base de datos puede no ser compatible con la función o la sintaxis que se está utilizando.
Para resolver este problema, puedes intentar los siguientes pasos:
SELECT postgis_full_version();
en la base de datos y comprobando que el número de versión coincida con el que esperas.Verifica la sintaxis y los parámetros que se están utilizando en la declaración
ALTER TABLE
para asegurarte de que sean correctos y compatibles con la versión de Postgis instalada en la base de datos.Verifica que el tipo de columna para
base_polygon
sea realmente de tipopolygon
, como se espera por la funciónST_Area()
.Si ninguno de los pasos anteriores resuelve el problema, es posible que necesites consultar la documentación de Postgres y Postgis o buscar ayuda adicional del equipo de soporte de Heroku o de un experto en bases de datos calificado.