Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VWSHk-0005fu-OH for pgsql-sql@arkaria.postgresql.org; Wed, 16 Oct 2013 14:41:16 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VWSHj-00009P-CP for pgsql-sql@arkaria.postgresql.org; Wed, 16 Oct 2013 14:41:15 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VWSHh-00009G-B3 for pgsql-sql@postgresql.org; Wed, 16 Oct 2013 14:41:13 +0000 Received: from teak.britvault.co.uk ([78.33.153.148]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VWSHW-0002Oa-HZ for pgsql-sql@postgresql.org; Wed, 16 Oct 2013 14:41:12 +0000 Received: by teak.britvault.co.uk (Postfix, from userid 1970) id 3d0GQj60DVzB9g; Wed, 16 Oct 2013 15:41:01 +0100 (BST) Date: Wed, 16 Oct 2013 15:41:01 +0100 To: pgsql-sql@postgresql.org Subject: Re: PostgreSQL 9.2 tstzrange null/infinity CONSTRAINT CHECK Message-ID: <20131016144101.GA13893@teak.britvault.co.uk> References: <20131016125014.GA25474@teak.britvault.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131016125014.GA25474@teak.britvault.co.uk> User-Agent: Mutt/1.5.21 (2010-09-15) From: skinner@britvault.co.uk (Craig R. Skinner) X-Pg-Spam-Score: -0.5 (/) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-sql Precedence: bulk Sender: pgsql-sql-owner@postgresql.org On 2013-10-16 Wed 13:50 PM |, Craig R. Skinner wrote: > I'd like to limit a 9.2 tstzrange to valid dates at both ends. > No NULLs nor 'infinity'. > > CREATE TABLE bill > ( > id serial NOT NULL, > created_at timestamp with time zone NOT NULL DEFAULT now(), > period tstzrange NOT NULL, > -- other columns > CONSTRAINT bill_pk PRIMARY KEY (id), This works: CONSTRAINT bill_period_not_null_nor_infinity_ck CHECK ( lower(period) IS NOT NULL AND upper(period) IS NOT NULL AND (lower(period) > '-infinity') AND (upper(period) < 'infinity') ) Cheers, -- Craig Skinner | http://twitter.com/Craig_Skinner | http://linkd.in/yGqkv7 -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql