not being an expert for Postgres…. I have a Postgis table with the countries of the world. Now, I would like to drop it. I got the error message:
ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
and thought that it would be easier to drop first all rows, and then drop the empty table.
But it seems that it has a problem with dropping the index:
DROP INDEX gis.countries_uid;
actually generates that error message.
So, do I need to dig now into the postgres config file? It seems strange to me that Postgres has a problem deleting an empty table, though.
The shared lock table has room for max_locks_per_transaction * max_connections entries,so as soon as it exceeds,you will get this error message. For fixing this issue,please set max_locks_per_transaction to (tables in database)/max_connections.
Thanks for that information. And yes, I have seen that in the documentation. Although I have to admit that I don't understand a word. I mean, what are max_locks_per_transaction? And the max_connections? Is the the number of users being connected to the database? In any case, I wonder why an empty table with a single index can generate that kind of message. I don't have a huge database, less than a thousand tables.
Thanks a lot for any explanations and help.
|