Can you load it via the "add PostGIS layer" button?
Is r.id a suitable key (unique)?

Bernhard

Am 26.05.2016 um 09:33 schrieb Samuel Ingarfield:
Hi All,

I'm trying to load a postigs layer via python which is defined by a very
long sql query. It seems that Qgis is truncating the query (which obviously
causes it to fail). Has anyone come across this before and come up with a
solution? Or am I loading the layer incorrectly?

There is an unanswered question on stackexchange regarding this:
http://gis.stackexchange.com/questions/162409/how-to-load-layers-from-postgres-using-select-statement

My python code is very simple:
sql = 'a very long query'
uri=QgsDataSourceURI()
uri.setConnection(host,"5432",dbname,user,passwd)
uri.setDataSource("",sql,"geom","","r.id")
vlayer = QgsVectorLayer(uri.uri(),"layer_name","postgres")
QgsMapLayerRegistry.instance().addMapLayer(vlayer)

The debug log shows the following:
qgsmessagelog.cpp(45) : (QgsMessageLog::logMessage) [1ms]
2016-05-26T15:16:14 PostGIS[1] NOTICE: NOTICE:  identifier "...long query
here..." will be truncated to "...truncated query here..."
qgsmessagelog.cpp(45) : (QgsMessageLog::logMessage) [1ms]
2016-05-26T15:16:14 PostGIS[1] Erroneous query: ...etc

Any help would be great.
Sam.



__________ Information from ESET Mail Security, version of virus signature 
database 13547 (20160526) __________

The message was checked by ESET Mail Security.
http://www.eset.com




_______________________________________________
Qgis-user mailing list
[email protected]
List info: http://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user




__________ Information from ESET Mail Security, version of virus signature 
database 13547 (20160526) __________

The message was checked by ESET Mail Security.
http://www.eset.com


_______________________________________________
Qgis-user mailing list
[email protected]
List info: http://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to