<div dir="ltr">Good idea, but I need to be able to vary a parameter in the sql expression to filter the dataset differently as the user requires.<div>Filtering needs to happen on the sql server, the dataset is far too large to filter directly within qgis (roughly 100mil rows).</div><div><br></div><div>Sam.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 26, 2016 at 4:20 PM, Bernhard Ströbl <span dir="ltr"><<a href="mailto:bernhard.stroebl@jena.de" target="_blank">bernhard.stroebl@jena.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe it's easier to create a view on the DB and load that?<span class="HOEnZb"><font color="#888888"><br>
<br>
Bernhard</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
Am 26.05.2016 um 09:52 schrieb Samuel Ingarfield:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Bernhard;<br>
<br>
I can load the layer using an identical query in the DB manager sql window.<br>
Yes, <a href="http://r.id" rel="noreferrer" target="_blank">r.id</a> is a unique key.<br>
<br>
Sam.<br>
<br>
On Thu, May 26, 2016 at 3:37 PM, Bernhard Ströbl <<a href="mailto:bernhard.stroebl@jena.de" target="_blank">bernhard.stroebl@jena.de</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Can you load it via the "add PostGIS layer" button?<br>
Is <a href="http://r.id" rel="noreferrer" target="_blank">r.id</a> a suitable key (unique)?<br>
<br>
Bernhard<br>
<br>
<br>
Am 26.05.2016 um 09:33 schrieb Samuel Ingarfield:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
I'm trying to load a postigs layer via python which is defined by a very<br>
long sql query. It seems that Qgis is truncating the query (which<br>
obviously<br>
causes it to fail). Has anyone come across this before and come up with a<br>
solution? Or am I loading the layer incorrectly?<br>
<br>
There is an unanswered question on stackexchange regarding this:<br>
<br>
<a href="http://gis.stackexchange.com/questions/162409/how-to-load-layers-from-postgres-using-select-statement" rel="noreferrer" target="_blank">http://gis.stackexchange.com/questions/162409/how-to-load-layers-from-postgres-using-select-statement</a><br>
<br>
My python code is very simple:<br>
sql = 'a very long query'<br>
uri=QgsDataSourceURI()<br>
uri.setConnection(host,"5432",dbname,user,passwd)<br>
uri.setDataSource("",sql,"geom","","<a href="http://r.id" rel="noreferrer" target="_blank">r.id</a>")<br>
vlayer = QgsVectorLayer(uri.uri(),"layer_name","postgres")<br>
QgsMapLayerRegistry.instance().addMapLayer(vlayer)<br>
<br>
The debug log shows the following:<br>
qgsmessagelog.cpp(45) : (QgsMessageLog::logMessage) [1ms]<br>
2016-05-26T15:16:14 PostGIS[1] NOTICE: NOTICE:  identifier "...long query<br>
here..." will be truncated to "...truncated query here..."<br>
qgsmessagelog.cpp(45) : (QgsMessageLog::logMessage) [1ms]<br>
2016-05-26T15:16:14 PostGIS[1] Erroneous query: ...etc<br>
<br>
Any help would be great.<br>
Sam.<br>
<br>
<br>
<br>
</blockquote></blockquote></blockquote>
<br>
<br>
__________ Information from ESET Mail Security, version of virus signature database 13547 (20160526) __________<br>
<br>
The message was checked by ESET Mail Security.<br>
<a href="http://www.eset.com" rel="noreferrer" target="_blank">http://www.eset.com</a><br>
<br>
<br>
_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
List info: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-user</a></div></div></blockquote></div><br></div>