X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by postgresql.org (Postfix) with ESMTP id 1F69D9DC9F5; Thu, 5 Jan 2006 21:23:14 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 53488-09; Thu, 5 Jan 2006 21:23:17 -0400 (AST) Received: from hub.org (hub.org [200.46.204.220]) by postgresql.org (Postfix) with ESMTP id 324AE9DCB0A; Thu, 5 Jan 2006 21:23:12 -0400 (AST) Received: from localhost (unknown [200.46.204.144]) by hub.org (Postfix) with ESMTP id 533E262C8D6; Thu, 5 Jan 2006 21:23:17 -0400 (AST) Received: from hub.org ([200.46.204.220]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 54477-09; Thu, 5 Jan 2006 21:23:15 -0400 (AST) Received: from ganymede.hub.org (blk-222-82-85.eastlink.ca [24.222.82.85]) by hub.org (Postfix) with ESMTP id 2CCF762C8B8; Thu, 5 Jan 2006 21:23:15 -0400 (AST) Received: by ganymede.hub.org (Postfix, from userid 1000) id D73D93C60A; Thu, 5 Jan 2006 21:23:18 -0400 (AST) Received: from localhost (localhost [127.0.0.1]) by ganymede.hub.org (Postfix) with ESMTP id D2105393D2; Thu, 5 Jan 2006 21:23:18 -0400 (AST) Date: Thu, 5 Jan 2006 21:23:18 -0400 (AST) From: "Marc G. Fournier" X-X-Sender: scrappy@ganymede.hub.org To: "Marc G. Fournier" cc: pgsql-sql@postgresql.org Subject: Re: FOREIGN KEYs ... I think ... In-Reply-To: <20060104213210.A1088@ganymede.hub.org> Message-ID: <20060105212040.X1088@ganymede.hub.org> References: <20060104213210.A1088@ganymede.hub.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at hub.org X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.953 required=5 tests=[AWL=0.474, DNS_FROM_RFC_ABUSE=0.479] X-Spam-Score: 0.953 X-Spam-Level: X-Archive-Number: 200601/25 X-Sequence-Number: 23814 Thanks to everyone for the responses ... ended up doing a trigger on the comments table that updates another table to maintain a "pointer" to the active record ... sped up the query that was hampering us from ~26 000ms to 47ms ... the killer part of the query was that each time it was havin gto figure out the 'active remark record' doing a 'max(create_time)' ... On Wed, 4 Jan 2006, Marc G. Fournier wrote: > > I'm not sure if I'm looking at (for) the right thing or not, but if I am, > then I'm not finding any useful examples :( > > I have two tables, simplified as: > > CREATE TABLE incident_summary ( > id serial, > subject text, > status boolean > ); > > CREATE TABLE incident_comments ( > id serial, > incident_id int4, > body text, > comment_date timestamp, > status boolean > ); > > Now, what I want to do is add a FOREIGN KEY (again, I think) that when > incident_summary.status is changed (either closed, or reopened), the > associated records in incident_comments are changed to the same state ... > > It *looks* like it should be simple enough, I want incident_comments.status > to change to incident_summary.status whenever incident_summary.status changes > ... since I'm finding nothing searching on FOREIGN KEYS, I'm guessing that > I'm looking at the wrong thing ... > > So, what should I be searching on / reading for this one? Pointers > preferred, especially one with some good examples :) > > Thanks ... > > > ---- > Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) > Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664 > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend > ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664