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

From: Stefan Schwarzer <stefan(dot)schwarzer(at)unep(dot)org>
To: raghu ram <raghuchennuru(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: out of shared memory - But the table is empty
Date: 2012-07-13 12:07:46
Message-ID: 72A34818-2488-4D5D-8247-912215EB9E8E@unep.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> 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.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Chris Travers 2012-07-13 12:57:04 Re: WITH RECURSIVE question
Previous Message Marc Mamin 2012-07-13 11:08:27 Re: WITH RECURSIVE question