I'm new to PostGIS (reasonably) - but I'm plagued with one on-going problem:

I'm able to access PostGIS from various GIS systems using the main 'postgres' user. Using a newly created user 'gis_viewer' - I've granted SELECT and USAGE on SCHEMA etc. Perhaps the only thing I have not done yet is try to get 'gis_viewer' to INHERIT from a role 'rl_gis_viewer'.

Opening QGIS db manager - I can see that the 'gis_viewer' has access to various schema and rights within those schema.

However when I drag that content into QGIS - I get an error message:

Layer is not valid -The layer dbname='MasterMap' host=VMSER-ITG-063 port=5432 user='gis_viewer' password='****' sslmode=disable table="garages"."garages_merge" (wkt_geometry) sql= is not a valid layer and can not be added to the map.

The GIS stackexchange also implies that this is a problem with the layer (unique ID issue) - but that layer is accessible using 'postgres' without these messages. So unless there is a conditional access to layers - I can only assume I've set up gis_viewer incorrectly or PostGIS incorrectly.

Using CADCORP 7.1 - I don't even get that far - apparently the Database does not have PostGIS configured.

This is very much a stumbling block to providing my workplace with access to PostGIS at a SELECT, USAGE level.

1 Answer 1


Grant the following privileges on the appropriate database/schema to your user, you should then, be able to read the data into Cadcorp SIS 7.1 / 8.0.

GRANT select ON ALL TABLES IN SCHEMA public TO username;

Your Answer

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

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