QGIS: "public.qgis_layer_metadata"

Hi!
relation “public.qgis_layer_metadata” does not exist
What this mean?
How to solve?

My guess is one of the following reasons:

  1. Permission issue with the account you are using to connect to your postgresql database

  2. You are for some reason connecting to the wrong database

To troubleshoot, I would suggest you verify you have a qgis_layer_metadata - I think you should be able to do via QGIS DBManager, pgAdmin, psql, Dbbeaver or whatever other db tool you feel comfortable using.

Make sure you are connecting with the same account you are using to connect via QGIS. One of the big changes I think it was in PG15 or 16, was by default new databases do not have public have access to public anymore. You have to explicitly grant roles you want to have access to public schema.

1 Like

Thanks for comments. Database administrator checked database. No such table. So do you know is public.qgis_layer_metadata needed at all for QGIS? And if needed how to create this?

I don’t think it is cause well I use QGIS against PostGIS databases all the time without it writing to the database or reading qgis meta tables from the db.

I’m assuming that is used by some plugin that persists layer definitions to a PostgreSQL database. So I would check what plugins you have. I saw this one, PgMetadata but not sure what tables it creates and uses since I don’t have that installed.