Re: On-line backup

From: "Mr(dot) Dan" <bitsandbytes88(at)hotmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: On-line backup
Date: 2006-07-19 15:51:31
Message-ID: BAY116-F335616657FEF6D0113DC0AD1600@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hey Tom,

Here is the query:

DELETE FROM recent_projects WHERE project_id = 3 AND user_id = 139;

And here is the query plan:

Index Scan using pk_recent_projects on recent_projects (cost=0.00..5.81
rows=1 width=6)
Index Cond: ((user_id = 139) AND (project_id = 3))

The table definition is :

CREATE TABLE recent_projects
(
user_id int4 NOT NULL,
project_id int4 NOT NULL,
last_viewed timestamp,
CONSTRAINT pk_recent_projects PRIMARY KEY (user_id, project_id),
CONSTRAINT fk_recent_project_id FOREIGN KEY (project_id)
REFERENCES project (project_id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE CASCADE,
CONSTRAINT fk_recent_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITHOUT OIDS;

This is a table with a lot of transactions.

The behavior we noticed is that we do the delete as specified above and then
do a reinsert with a new timestamp and everything else the same (lazy I
know, but not my code). What happens some of the time is that the reinsert
fails and give a duplicate key failure. What has fixed this in the past is
reindexing the table - but we don't want to rely on that forever.

We are also have an issue with processes locking up. We can't kill -9 pid
because postgres ends up restarting the whole cluster. What can we do?
kill -s INT TERM or SIGQUIT don't seem to work either. Should we be root or
logged in as postgres when we try to kill these?

Thanks!
~DjK

>From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
>To: "Mr. Dan" <bitsandbytes88(at)hotmail(dot)com>
>CC: pgsql-admin(at)postgresql(dot)org
>Subject: Re: [ADMIN] On-line backup Date: Mon, 17 Jul 2006 14:43:30 -0400
>
>"Mr. Dan" <bitsandbytes88(at)hotmail(dot)com> writes:
> > ... What happens is that we have a 'hot' table (one with many many
> > transactions) that gets inserted and deleted often. About once a month
>now
> > when we do a select from that table the results of the select do not
>match
> > the where clause, ex.
>
> > select * from recent_projects
> > where user_id = 139
>
> > sometimes produces these results:
>
> > user_id project_id
> > 139 3
> > 139 1
> > 139 17
> > 754 11
>
>Hmmm .... that looks sorta familiar. What is the query plan that's used
>for this SELECT?
>
> regards, tom lane

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Ghislain Bob Hachey 2006-07-20 00:51:54 Insert NULL value with to_numeric()
Previous Message Merlin Moncure 2006-07-19 14:17:03 Re: [GENERAL] is there any dataware housing tools for postgresql