5

I'm managing a large QGIS project file that connect to several postgis layers.

Since this QGIS project file is used by many people, we set up a authentication config using the QGIS authentication system. Each layer of the project comes with an authentication number (let's say 1111111).

Whenever I need to add a new layer to this project, I have to manually enter the authentification number in the project file. So I edit the .qgs project file with a text editor and add authcfg=1111111 in 2 places, first in the <layer-tree-layer>layer definition and then in the <datasource>.

I find this quite cumbersome and I'd like my customers could do it by themselves without editing the qgs project file or using pyqgis. Is there a graphical user interface way to add this authcfg=1111111 in any layer of a QGIS project?

When looking at the layer properties, we can see this information (in the Information tab, for instance dbname='mydb' host=xxx.xxx.xxx.xxx port=5432 sslmode=disable authcfg=1111111 key='layer' srid=31370 type=Polygon checkPrimaryKeyUnicity='1' table="carto"."layer" (geom)) but there is no way to edit it.

1 Answer 1

2

There is a plugin that lets you change it easily, it's called "changeDataSource"

When you right-click on a layer, it will add a new choice in the menu (change vector datasource) which will popup a text edit box, where you can edit the datasource of the layer.

But, I found a simpler (yet convoluted) way. My projects are saved in a PostGIS database. So I added a trigger function on the qgis_projects table where they are saved, that changes the authcfg=xxxxx to whichever value I want, each time, on the save event.

But, QGIS does save the info there, in an XML form, but ZIPs it (no gzip, good ol' zip) so I need the Python programming language installed on the PostGIS server to do that.

1
  • if you want to edit details of the data source rather than build a new one from scratch then access changeDataSource from the toolbar (database symbol with green *). That lists the sources for all layers and allow one to make arbitrary changes (including global find and replace) Apr 23, 2022 at 22:40

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .