From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Lutz Steinborn <l(dot)steinborn(at)4c-ag(dot)de> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: nonremovable row versions |
Date: | 2009-06-08 07:14:53 |
Message-ID: | dcc563d10906080014x2ff72477k9325f11731108de3@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Mon, Jun 8, 2009 at 12:28 AM, Lutz Steinborn<l(dot)steinborn(at)4c-ag(dot)de> wrote:
> Hi,
>
> can anybody tell me how to get rid of nonremovable row versions ?
> I know what those rows coming from long running transactions. But I can't see
> any long running transactions in pg_locks and all postgres processes are idle.
> How else can I check if transaction in process ?
>
>
> I don't have any idea from where those long running transaction are comming
> because we are stopping/starting our apllications every 2-3 days. And its not
> the nature of our applications to establish long running transactions.
I think you misunderstand nonremoveable rows. A demonstration:
postgres=# create table test (id int);
CREATE TABLE
postgres=# insert into test values (1),(2),(3);
INSERT 0 3
postgres=# vacuum verbose test;
INFO: vacuuming "public.test"
INFO: "test": found 0 removable, 3 nonremovable row versions in 1 pages
DETAIL: 0 dead row versions cannot be removed yet.
There were 0 unused item pointers.
1 pages contain useful free space.
0 pages are entirely empty.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
VACUUM
It's not just old transactions, it's current data as well.
>
> We are using postgresql 8.1.4.
You really should be running 8.1.17.
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Monnerie | 2009-06-08 07:46:54 | Re: Who knows this SELECT in PostgreSQL |
Previous Message | Lutz Steinborn | 2009-06-08 06:28:59 | nonremovable row versions |