Received: from localhost (unknown [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id AB9CB9FA154 for ; Tue, 23 Oct 2007 23:21:49 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-maia, port 10024) with ESMTP id 67859-04 for ; Tue, 23 Oct 2007 23:21:28 -0300 (ADT) X-Greylist: delayed 00:06:39.942121 by SQLgrey-1.7.5 Received: from weatherbeeta.com.au (218-214-212-153.people.net.au [218.214.212.153]) by postgresql.org (Postfix) with ESMTP id 375759FB8B8 for ; Tue, 23 Oct 2007 23:21:43 -0300 (ADT) Received: (qmail 16185 invoked from network); 24 Oct 2007 02:15:01 -0000 X-NetworkBox-HamSign: 0101;OUT;wbeetaau1;86cca2dc366b8a22b626040eec8469ee; Received: from unknown (HELO mail.weatherbeeta.com.au) (10.20.0.2) by 10.20.0.254 with SMTP; 24 Oct 2007 02:15:01 -0000 Received: (qmail 10443 invoked by uid 1166); 24 Oct 2007 12:14:53 +1000 Received: from 172.20.0.155 by mail.weatherbeeta.com.au (envelope-from , uid 1165) with qmail-scanner-1.25-st-qms (clamdscan: 0.88.6/2315. perlscan: 1.25-st-qms. Clear:RC:1(172.20.0.155):. Processed in 0.320128 secs); 24 Oct 2007 02:14:53 -0000 X-Antivirus-mail.weatherbeeta.com.au-Mail-From: phillip.smith@weatherbeeta.com.au via mail.weatherbeeta.com.au X-Antivirus-mail.weatherbeeta.com.au: 1.25-st-qms (Clear:RC:1(172.20.0.155):. Processed in 0.320128 secs Process 10434) Received: from it-phil.weatherbeeta.com.au (HELO wbaus090) (172.20.0.155) by mail.weatherbeeta.com.au with SMTP; 24 Oct 2007 12:14:51 +1000 From: "Phillip Smith" To: "'Paul Lambert'" , "'pgsql-sql'" Subject: Re: Quick question re foreign keys. Date: Wed, 24 Oct 2007 12:14:57 +1000 Organization: Weatherbeeta Pty Ptd Message-ID: <009001c815e3$acc65e20$9b0014ac@wbaus090> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962 Importance: Normal In-Reply-To: <471EA7D5.9040403@autoledgers.com.au> X-Scanned-By-wbeetaau1: Virus scan performed by network-box X-Scanned-By-wbeetaau1: Scanner file id is wbeetaau1-1193192101.35-16177-000 X-Scanned-By-wbeetaau1: No known viruses found in message (received+scanned in 0.00/0.03 secs) X-Scanned-By-wbeetaau1: Spam-Check-Result: No, hits=0 required=7 tests= autolearn=no version=2.0 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200710/94 X-Sequence-Number: 29466 > My question therefore is, is it possible to create a foreign key that is > conditional, i.e. only enforce the foreign key where the value in that > table is not null. My understanding from reading previous threads on this topic is the answer is no, however you could make your own pseudo-foreign key using triggers to do the same job, but only when your column is not null. Not sure of the performance impact of doing this though - someone else may be able to advise pros and cons in more detail. Cheers, ~p THINK BEFORE YOU PRINT - Save paper if you don't really need to print this *******************Confidentiality and Privilege Notice******************* The material contained in this message is privileged and confidential to the addressee. If you are not the addressee indicated in this message or responsible for delivery of the message to such person, you may not copy or deliver this message to anyone, and you should destroy it and kindly notify the sender by reply email. Information in this message that does not relate to the official business of Weatherbeeta must be treated as neither given nor endorsed by Weatherbeeta. Weatherbeeta, its employees, contractors or associates shall not be liable for direct, indirect or consequential loss arising from transmission of this message or any attachments e-mail.