es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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:

    1. La extensión de Postgis puede no estar instalada o configurada correctamente en la base de datos de Postgres en Heroku.
    2. 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:

    1. Confirma que la extensión de Postgis esté instalada y configurada correctamente en la base de datos de Postgres en Heroku. Puedes verificar esto ejecutando el comando SELECT postgis_full_version(); en la base de datos y comprobando que el número de versión coincida con el que esperas.
  2. 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.

  3. Verifica que el tipo de columna para base_polygon sea realmente de tipo polygon, como se espera por la función ST_Area().

  4. 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.

Comments are closed.