ERROR: out of shared memory - But the table is empty

Started by Stefan Schwarzerover 13 years ago3 messagesgeneral
Jump to latest
#1Stefan Schwarzer
stefan.schwarzer@unep.org

Hi there,

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.

Thanks for any hints.

#2raghu ram
raghuchennuru@gmail.com
In reply to: Stefan Schwarzer (#1)
Re: ERROR: out of shared memory - But the table is empty

On Thu, Jul 12, 2012 at 8:23 PM, Stefan Schwarzer <stefan.schwarzer@unep.org

wrote:

Hi there,

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 & Regards,

Raghu Ram

EnterpriseDB Corporation

Blog:http://raghurc.blogspot.in/

#3Stefan Schwarzer
stefan.schwarzer@unep.org
In reply to: raghu ram (#2)
Re: ERROR: out of shared memory - But the table is empty

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.