[QGIS-pt] Problema com Postgis 3.0.1

Rui Cavaco rpcavaco at gmail.com
Sun Jul 26 13:37:00 PDT 2020


Olá a todos.

Deparei-me hoje com o seguinte problema: a minha instalação de QGIS 3.14
não fazia a "Identificação de feições" com layers de Postgis.

Tratava-se de um problema no Postgis: a "identificação ..." usa a
função ST_CurveToLine.
Pelo menos no Postgis versão 3.0.1, essa função surge com 3 "signatures"
diferentes, das quais 2 delas estão obsoletas, já deveriam ter sido
removidas  e não permitem o seu uso , que termina em erro com a mensagem:

      *hint: could not choose a best candidate function*

Para resolver o problema, removendo as assinaturas obsoletas, basta
executar:

ALTER EXTENSION postgis DROP function st_curvetoline(geometry, INTEGER)
DROP function st_curvetoline(geometry, INTEGER)
ALTER EXTENSION postgis DROP function st_curvetoline(geometry)
DROP function st_curvetoline(geometry)

Para garantir que não irão quebrar a vossa instalação, verifiquem primeiro
que se manterá uma assinatura *exatamente* igual a esta (no schema public,
atenção aos "DEFAULT"):

ST_CurveToLine(geom geometry, tol float8 DEFAULT 32, toltype integer
DEFAULT 0, flags integer DEFAULT 0)

Parece que na equipa Postgis alguém se esqueceu de aplicar este changeset:
https://trac.osgeo.org/postgis/changeset/16045

Cumprimentos

Rui Cavaco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-pt/attachments/20200726/5a245317/attachment.html>


More information about the QGIS-pt mailing list