In QGIS 2.0 I have a layer based on a query to a PostgreSQL/PostGIS database and would like to serve this as a WFS layer. Users of the layer should be able to select subsets of the data based on properties such as dates or unique IDs, but should not be able to update, insert, or delete records.

The Creating a WMS/WFS from a QGIS project section of the documentation simply says, (emphasis mine)

In the WFS capabilities area you can select the layers that you want to provide as WFS, and specify if they will allow the update, insert and delete operations.

How, exactly, do I specify this? What is the correct way to deny, and to allow, these actions?

Here's what I've done so far. I added the layer I want to publish to a new QGIS project. Then in the Project Properties window, under OWS server, I checked the box in the Published column for the layer. Now I don't know what to put in the free-form text input boxes in the Update, Insert, and Delete columns. I've tried putting values of "0", "NO", and "FALSE" in here, as well as more facetious entries such as "Sure" and "Why not?". No matter what I enter though, when I click Apply or OK, QGIS gives no error or feedback of any sort. When I return to the project properties later, the text boxes are all blank as they were initially.

Oh, and in case it makes a difference, I'm running this under Windows (currently 7, but it will be deployed on Server 2008 or 2012 eventually).

  • I have both QGIS 2.0 and 2.2 under windows 7 and I have the same input boxes for Published, Update, Insert, and Delete columns so I don't understand where you're putting values of "0", "NO" etc... Commented May 15, 2014 at 10:12

1 Answer 1


You can and you should handle rights permissions directly in your postgreSQL database to allow read-only of your data. Though you won't have a correct getCapabilties if you can't publish WFS rights in QGIS. By default every WFS rights is off so you should only check published in your case and I think it'll be ok.

I think you have text input and not checkbox because rights are not correct in your database. For example I have text input for update, insert and delete columns only with a user having read-only rights on this table. you are correct the text input field is misleading.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.